Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

PyTorch

Откройте для себя PyTorch, гибкий фреймворк для машинного обучения на Python, на котором основаны такие инновации в области ИИ, как Ultralytics YOLO. Создавайте умнее и быстрее уже сегодня!

PyTorch - это ведущая программа с открытым исходным кодом. машинного обучения (ML) и фреймворк глубокого обучения (ГОО), который облегчает разработку интеллектуальных систем. Изначально разработанный исследователями из Meta AI, теперь он управляется независимым фондомPyTorch Foundation, обеспечивающим нейтральность и развитие под влиянием сообщества. Известный своей гибкостью и "питоническим" дизайном, он позволяет разработчикам создавать сложные архитектуры нейронных сетей (НС) с помощью кода, который естественным и интуитивно понятным в экосистемеPython .

В своей основе фреймворк оперирует тензорами, которые многомерными массивами, подобными тем, которые можно найти в NumPy библиотеке NumPy. Однако, в отличие от стандартных массивов, эти структуры данных могут обрабатываться на GPU чтобы значительно ускорить скорость вычислений. Эта возможность необходима для выполнения массивной параллельной обработки, требуемой при обучении современных моделей ИИ для таких задач, как компьютерное зрение (CV) и понимание естественного языка понимание.

Ключевые особенности и преимущества

PyTorch отличается от других фреймворков особым набором конструктивных решений, которые ставят во главу угла производительность разработчика производительность и удобство отладки:

  • Динамические вычислительные графы: В отличие от фреймворков, которые исторически использовали статические графы (определяя сеть сеть перед запуском), PyTorch использует философию "define-by-run". Это позволяет разработчикам изменять граф "на лету", что облегчает отладку и позволяет обрабатывать входные данные переменной длины, что особенно полезно при обработке естественного языка (NLP).
  • Автоматическая дифференциация: В состав фреймворка входит модуль под названием autograd что автоматически вычисляет градиенты - математические производные, необходимые для обратное распространение ошибки (backpropagation). Это упрощает реализация алгоритмы оптимизации во время обучения.
  • Надежная экосистема: Она поддерживается специфическими для данной области библиотеками, такими как TorchVision для задач, связанных с изображениями, которая предоставляет предварительно обученные модели и наборы данных, и TorchAudio для обработки звука.
  • Бесшовное развертывание: С помощью таких инструментов, как TorchScriptмодели могут быть перенесены из исследовательской в производственную среду без сильных зависимостей, поддерживая эффективное обслуживания моделей.

Применение в реальном мире

Гибкость этой структуры привела к тому, что она широко используется в различных отраслях промышленности для решения высокоэффективных задач. приложений:

  1. Автономное вождение: Такие компании, как Tesla, используют модели глубокого модели глубокого обучения, построенные на PyTorch , для обработки видеосигнала с камер автомобиля. Эти модели в режиме реального времени выполняют обнаружение объектов для определения полос движения, пешеходов, и других транспортных средств, что позволяет автономные автомобили могут безопасно передвигаться.
  2. Диагностика в здравоохранении: В области анализа медицинских изображений исследователи используют фреймворк для обучения моделей, detect аномалии на рентгеновских снимках и снимках МРТ. Например, NVIDIA Clara использует эти возможности для помощи радиологам в выявлять опухоли с более высокой точностью с помощью сегментации изображений.

PyTorch по сравнению с другими инструментами

Чтобы понять, какое место занимает PyTorch в наборе инструментов разработчика, полезно отличать его от смежных технологий:

  • Vs. TensorFlow: Хотя оба являются комплексные фреймворки глубокого обучения, TensorFlow (разработанный Google) исторически известен статическими графами и тяжелыми для развертывания рабочими процессами. PyTorch часто предпочитают для исследований и быстрого создания прототипов из-за его динамической природы и простоте использования, хотя с течением времени оба фреймворка сблизились по своим возможностям.
  • Vs. OpenCV: OpenCV - это библиотека, предназначенная для традиционной обработки изображений (изменение размера, фильтрация, преобразование цвета), а не для глубокого обучения. В типичном рабочем процессе разработчики используют OpenCV для предварительной обработки данных перед подачей изображений в нейронную сеть PyTorch для анализа.

Интеграция с Ultralytics

Все Ultralytics YOLO11 построены на PyTorch. Благодаря этому пользователи получают преимущества от скорости работы фреймворка и широкой поддержки сообщества. Занимаетесь ли вы трансферное обучение на пользовательском наборе данных или развертывание модели для пограничных вычислений, базовая архитектура использует тензоры и градиенты PyTorch .

Грядущая платформаUltralytics Platform еще больше упрощает этот опыт, предлагая оптимизированный интерфейс для обучения и управления этими моделями без необходимости написания обширного шаблонного кода. кода.

Следующий пример демонстрирует, как загрузить предварительно обученную модель и запустить вывод, показывая, как фреймворк работает под капотом для обработки тяжелых вычислений:

from ultralytics import YOLO

# Load a standard YOLO11 model (built on PyTorch)
model = YOLO("yolo11n.pt")

# Perform object detection on an image
# PyTorch handles the tensor operations and GPU acceleration automatically
results = model("https://ultralytics.com/images/bus.jpg")

# Print the number of objects detected
print(f"Detected {len(results[0].boxes)} objects.")

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас