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





