PyTorch
Исследуй PyTorch — основную библиотеку, обеспечивающую работу Ultralytics YOLO26. Узнай о динамических графах, ускорении на GPU и о том, как создавать эффективные модели глубокого обучения.
PyTorch — это библиотека машинного обучения с открытым исходным кодом, разработанная в основном Meta AI, которая стала краеугольным камнем для исследователей и разработчиков в области глубокого обучения. Известная своей гибкостью и простотой использования, она позволяет создавать и обучать сложные нейронные сети с использованием динамического вычислительного графа. Эта функция, часто называемая «немедленным выполнением» (eager execution), позволяет оценивать код сразу же, делая отладку и прототипирование гораздо более интуитивными по сравнению с фреймворками, использующими статические определения графов. Она легко интегрируется с языком программирования Python, ощущаясь как естественное продолжение стандартных инструментов научных вычислений.
Основные механизмы и значение#
В основе этого фреймворка лежат тензоры — многомерные массивы, похожие на те, что описаны в документации NumPy. Однако в отличие от стандартных массивов, тензоры PyTorch созданы для использования ускорения на GPU, обеспечиваемого NVIDIA CUDA. Это аппаратное ускорение имеет критическое значение для масштабной параллельной обработки, необходимой для эффективного обучения современных моделей искусственного интеллекта (ИИ).
Библиотека поддерживает огромную экосистему инструментов для компьютерного зрения (CV) и обработки естественного языка. Предоставляя богатый набор готовых слоев, оптимизаторов и функций потерь, она упрощает процесс создания алгоритмов для таких задач, как классификация изображений и моделирование последовательностей.
Реальные приложения#
Универсальность этого фреймворка привела к его внедрению в различных отраслях для создания высокоэффективных решений на базе ИИ:
-
Автономные транспортные средства: Лидеры индустрии используют PyTorch для создания моделей глубокого обучения, которые обрабатывают видеопотоки с автомобильных камер. Эти модели выполняют обнаружение объектов в реальном времени для распознавания полос движения, знаков и пешеходов, обеспечивая более безопасную навигацию.
-
Медицинская диагностика: Исследователи используют фреймворк для разработки передовых приложений в сфере здравоохранения. Например, на его базе работают системы, анализирующие МРТ-снимки или рентгенограммы, чтобы помогать врачам выявлять опухоли с помощью точной сегментации изображений.
Сравнение со схожими инструментами#
Чтобы лучше понять его роль, полезно различать PyTorch и другие распространенные инструменты в стеке ИИ:
- По сравнению с TensorFlow: Разработанный Google, TensorFlow исторически опирался на статические вычислительные графы, что затрудняло отладку, но оптимизировало развертывание. Хотя возможности обоих фреймворков со временем сблизились, PyTorch часто предпочитают для быстрого прототипирования и исследований благодаря его интуитивному интерфейсу.
- По сравнению с OpenCV: OpenCV — это библиотека, ориентированная на традиционные функции обработки изображений (такие как изменение размера, фильтрация и преобразование цветов), а не на обучение нейронных сетей. В типичном рабочем процессе разработчики используют OpenCV для предварительной обработки данных перед передачей изображений в модель PyTorch для анализа.
Интеграция с Ultralytics#
Все семейство моделей Ultralytics, включая передовую YOLO26 и широко используемую YOLO11, создано на базе PyTorch. Эта основа гарантирует, что ты получаешь выгоду от скорости, стабильности и обширной поддержки сообщества этого фреймворка. Независимо от того, выполняешь ли ты перенос обучения на пользовательских данных для обучения или экспортируешь модели для периферийных устройств, лежащая в основе архитектура опирается на тензоры и градиенты PyTorch.
Предстоящая Ultralytics Platform еще больше упрощает этот опыт, предоставляя унифицированный интерфейс для управления поиском наборов данных, обучением и развертыванием без необходимости писать обширный шаблонный код.
Следующий пример демонстрирует, как проверить доступность GPU и выполнить инференс с помощью модели YOLO, показывая, как фреймворк скрыто управляет аппаратным ускорением:
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available for PyTorch acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"PyTorch is using device: {device}")
# Load a YOLO26n model (built on PyTorch)
model = YOLO("yolo26n.pt")
# Perform object detection on an image
# PyTorch handles tensor operations and moves data to the GPU automatically
results = model("https://ultralytics.com/images/bus.jpg", device=device)





