PyTorch
Изучи PyTorch — основную библиотеку, лежащую в основе Ultralytics YOLO26. Узнай о ее динамических графах, ускорении на GPU и создании эффективных моделей глубокого обучения.
PyTorch — это библиотека машинного обучения с открытым исходным кодом, которую в основном разрабатывает Meta AI. Она стала краеугольным камнем для исследователей и разработчиков в области глубокого обучения. Благодаря гибкости и простоте использования библиотека позволяет создавать и обучать сложные нейронные сети с помощью динамического графа вычислений. Эта функция, часто называемая «нетерпеливым выполнением», позволяет немедленно вычислять код, благодаря чему отладка и создание прототипов становятся значительно интуитивнее по сравнению с фреймворками, использующими статические определения графов. Библиотека без проблем интегрируется с языком программирования Python и воспринимается как естественное расширение стандартных инструментов научных вычислений.
Основные механизмы и значение#
В основе этого фреймворка лежат тензоры — многомерные массивы, похожие на те, что описаны в документации NumPy. Однако, в отличие от стандартных массивов, тензоры PyTorch рассчитаны на использование ускорения вычислений на GPU, предоставляемого NVIDIA CUDA. Это аппаратное ускорение критически важно для масштабной параллельной обработки, необходимой для эффективного обучения современных моделей искусственного интеллекта (AI).
Библиотека поддерживает обширную экосистему инструментов для компьютерного зрения (CV) и обработки естественного языка. Благодаря богатому набору готовых слоёв, оптимизаторов и функций потерь она упрощает создание алгоритмов для таких задач, как классификация изображений и моделирование последовательностей.
Практические применения#
Универсальность этого фреймворка привела к его внедрению в различных отраслях для создания эффективных решений на основе AI:
-
Автономные транспортные средства: Лидеры отрасли используют PyTorch для создания моделей глубокого обучения, обрабатывающих видеопотоки с автомобильных камер. Эти модели выполняют детекцию объектов в реальном времени, чтобы распознавать полосы движения, дорожные знаки и пешеходов, обеспечивая более безопасную навигацию.
-
Медицинская диагностика: Исследователи используют этот фреймворк для разработки передовых медицинских приложений. Например, он лежит в основе систем, анализирующих снимки МРТ или рентгеновские снимки, чтобы помогать врачам выявлять опухоли с помощью точной сегментации изображений.
Сравнение со связанными инструментами#
Чтобы лучше понять его роль, полезно отличать PyTorch от других распространённых инструментов в стеке AI:
- В сравнении с TensorFlow: TensorFlow, разработанный Google, исторически использовал статические вычислительные графы, что усложняло отладку, но оптимизировало развёртывание. Хотя возможности обоих фреймворков со временем сблизились, PyTorch часто предпочитают для быстрого создания прототипов и исследований благодаря его интуитивно понятному интерфейсу.
- В сравнении с OpenCV: OpenCV — это библиотека, ориентированная на традиционные функции обработки изображений, такие как изменение размера, фильтрация и преобразование цветов, а не на обучение нейронных сетей. В типичном рабочем процессе разработчики используют OpenCV для предварительной обработки данных, прежде чем передать изображения в модель PyTorch для анализа.
Интеграция с Ultralytics#
Всё семейство моделей Ultralytics, включая передовую YOLO26 и широко используемую YOLO11, изначально создано на основе PyTorch. Эта основа гарантирует, что пользователи получают преимущества высокой скорости, стабильности и обширной поддержки сообщества фреймворка. Независимо от того, выполняется ли перенос обучения на пользовательских данных для обучения или экспорт моделей для периферийных устройств, базовая архитектура использует тензоры и градиенты PyTorch.
Предстоящая платформа Ultralytics ещё больше упрощает этот процесс, предоставляя единый интерфейс для управления поиском наборов данных, обучением и развёртыванием без необходимости писать большое количество шаблонного кода.
В следующем примере показано, как проверить доступность 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)








