YOLO-NAS
Обрати внимание, что Deci, первоначальные создатели YOLO-NAS, были приобретены NVIDIA. В результате эти модели больше не поддерживаются Deci на активной основе. Ultralytics продолжает поддерживать использование этих моделей, но дальнейших обновлений от первоначальной команды не ожидается.
Обзор
Разработанная Deci AI, YOLO-NAS является прорывной базовой моделью для обнаружения объектов. Это продукт передовой Neural Architecture Search технологии, тщательно спроектированный для устранения ограничений предыдущих моделей YOLO. Благодаря значительным улучшениям в поддержке квантования и точности-latency trade-offs, YOLO-NAS представляет собой большой скачок в области обнаружения объектов.
Обзор YOLO-NAS. YOLO-NAS использует блоки с учетом квантования и выборочное квантование для обеспечения оптимальной производительности. При преобразовании в версию INT8 квантования модель демонстрирует минимальное падение точности, что является значительным улучшением по сравнению с другими моделями. Эти достижения привели к созданию превосходной архитектуры с беспрецедентными возможностями обнаружения объектов и выдающейся производительностью.
Ключевые особенности
- Базовый блок, дружественный к квантованию: YOLO-NAS представляет новый базовый блок, который оптимизирован для квантования, решая одно из существенных ограничений предыдущих моделей YOLO.
- Сложное обучение и квантование: YOLO-NAS использует передовые схемы обучения и пост-тренировочное квантование для повышения производительности.
- Оптимизация AutoNAC и предварительное обучение: YOLO-NAS использует оптимизацию AutoNAC и предварительно обучена на известных датасетах, таких как COCO, Objects365 и Roboflow 100. Такое предварительное обучение делает её крайне подходящей для последующих задач обнаружения объектов в производственных средах.
Предварительно обученные модели
Ощути мощь обнаружения объектов нового поколения с предварительно обученными моделями YOLO-NAS, предоставляемыми Ultralytics. Эти модели разработаны для обеспечения первоклассной производительности как в скорости, так и в точности. Выбирай из множества вариантов, адаптированных под твои конкретные нужды:
| Модель | mAP | Задержка (мс) |
|---|---|---|
| YOLO-NAS S | 47.5 | 3.21 |
| YOLO-NAS M | 51.55 | 5.85 |
| YOLO-NAS L | 52.22 | 7.87 |
| YOLO-NAS S INT-8 | 47.03 | 2.36 |
| YOLO-NAS M INT-8 | 51.0 | 3.78 |
| YOLO-NAS L INT-8 | 52.1 | 4.78 |
Каждый вариант модели спроектирован так, чтобы обеспечить баланс между для конвертации датасетов из других форматов. Как только датасет будет готов, ты можешь обучить модель с помощью Python или команд CLI: (mAP) и задержкой, помогая тебе оптимизировать задачи обнаружения объектов как по производительности, так и по скорости.
Примеры использования
Ultralytics упростила интеграцию моделей YOLO-NAS в твои приложения на Python с помощью нашего пакета ultralytics python. Пакет предоставляет удобный API на Python для оптимизации процесса.
Следующие примеры показывают, как использовать модели YOLO-NAS с пакетом ultralytics для инференса и валидации:
Примеры инференса и валидации
В этом примере мы проводим валидацию YOLO-NAS-s на датасете COCO8.
Этот пример предоставляет простой код для инференса и валидации YOLO-NAS. Для обработки результатов инференса смотри Предсказание режим. Для использования YOLO-NAS с дополнительными режимами смотри Val и Экспорт. YOLO-NAS в пакете ultralytics не поддерживает обучение.
PyTorch предобученные модели *.pt файлы моделей могут быть переданы в NAS() для создания экземпляра модели в python:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Display model information (optional)
model.info()
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Поддерживаемые задачи и режимы
Мы предлагаем три варианта моделей YOLO-NAS: Small (s), Medium (m) и Large (l). Каждый вариант разработан для удовлетворения различных вычислительных потребностей и требований к производительности:
- YOLO-NAS-s: оптимизирована для сред, где вычислительные ресурсы ограничены, но важна эффективность.
- YOLO-NAS-m: предлагает сбалансированный подход, подходящий для задач общего назначения обнаружения объектов с более высокой точностью.
- YOLO-NAS-l: создана для сценариев, требующих максимальной точности, где вычислительные ресурсы не являются жестким ограничением.
Ниже представлен подробный обзор каждой модели, включая ссылки на предварительно обученные веса, поддерживаемые задачи и совместимость с различными режимами работы.
| Тип модели | Предобученные веса | Поддерживаемые задачи | Inference | Валидация | Обучение | Экспорт |
|---|---|---|---|---|---|---|
| YOLO-NAS-s | yolo_nas_s.pt | Детекция объектов | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-m | yolo_nas_m.pt | Детекция объектов | ✅ | ✅ | ❌ | ✅ |
| YOLO-NAS-l | yolo_nas_l.pt | Детекция объектов | ✅ | ✅ | ❌ | ✅ |
Цитирование и благодарности
Если ты используешь YOLO-NAS в своей исследовательской или разработческой деятельности, пожалуйста, ссылайся на SuperGradients:
@misc{supergradients,
doi = {10.5281/ZENODO.7789328},
url = {https://zenodo.org/records/7789328},
author = {Aharon, Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova, Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya, Eugene and Rubin, Ran and Bagrov, Natan and Tymchenko, Borys and Keren, Tomer and Zhilko, Alexander and {Eran-Deci}},
title = {Super-Gradients},
publisher = {GitHub},
journal = {GitHub repository},
year = {2021},
}Мы выражаем благодарность команде SuperGradients из Deci AI за их усилия по созданию и поддержке этого ценного ресурса для сообщества компьютерного зрения. Мы верим, что YOLO-NAS, с её инновационной архитектурой и превосходными возможностями обнаружения объектов, станет критически важным инструментом как для разработчиков, так и для исследователей.
FAQ
Что такое YOLO-NAS и в чем её преимущество перед предыдущими моделями YOLO?
YOLO-NAS, разработанная Deci AI, представляет собой передовую модель обнаружения объектов, использующую технологию Neural Architecture Search (NAS). Она решает ограничения предыдущих моделей YOLO, внедряя такие функции, как базовые блоки, дружественные к квантованию, и сложные схемы обучения. Это приводит к значительному улучшению производительности, особенно в средах с ограниченными вычислительными ресурсами. YOLO-NAS также поддерживает квантование, сохраняя высокую точность даже при конвертации в версию INT8, что повышает её пригодность для производственных сред. Более подробную информацию смотри в Обзор .
Как я могу интегрировать модели YOLO-NAS в свое приложение на Python?
Ты можешь легко интегрировать модели YOLO-NAS в свое приложение на Python, используя пакет ultralytics. Вот простой пример того, как загрузить предварительно обученную модель YOLO-NAS и выполнить инференс:
from ultralytics import NAS
# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")
# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")
# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Для получения дополнительной информации обратись к Примеры инференса и валидации.
Каковы ключевые особенности YOLO-NAS и почему мне стоит рассмотреть её использование?
YOLO-NAS представляет несколько ключевых особенностей, которые делают её превосходным выбором для задач обнаружения объектов:
- Базовый блок, дружественный к квантованию: Улучшенная архитектура, повышающая производительность модели с минимальным точностью падением точности после квантования.
- Сложное обучение и квантование: Использование передовых схем обучения и методов пост-тренировочного квантования.
- Оптимизация AutoNAC и предварительное обучение: Использование оптимизации AutoNAC и предварительное обучение на известных датасетах, таких как COCO, Objects365 и Roboflow 100.
Эти особенности способствуют её высокой точности, эффективной производительности и пригодности для развертывания в производственных средах. Узнай больше в Ключевые особенности .
Какие задачи и режимы поддерживаются моделями YOLO-NAS?
Модели YOLO-NAS поддерживают различные задачи обнаружения объектов и такие режимы, как инференс, валидация и экспорт. Они не поддерживают обучение. Поддерживаемые модели включают YOLO-NAS-s, YOLO-NAS-m и YOLO-NAS-l, каждая из которых адаптирована под различные вычислительные мощности и требования к производительности. Подробный обзор смотри в Поддерживаемые задачи и режимы .
Есть ли предварительно обученные модели YOLO-NAS и как получить к ним доступ?
Да, Ultralytics предоставляет предварительно обученные модели YOLO-NAS, к которым ты можешь получить прямой доступ. Эти модели предварительно обучены на таких датасетах, как COCO, что гарантирует высокую производительность как по скорости, так и по точности. Ты можешь скачать эти модели, используя ссылки, предоставленные в Предварительно обученные модели разделе. Вот несколько примеров: