Link to this sectionUltralytics YOLO26 на NVIDIA Jetson с использованием DeepStream SDK и TensorRT#
Watch: How to use Ultralytics YOLO26 models with NVIDIA Deepstream on Jetson Orin NX 🚀
Это подробное руководство содержит пошаговые инструкции по развертыванию Ultralytics YOLO26 на устройствах NVIDIA Jetson с помощью DeepStream SDK и TensorRT. Мы используем TensorRT, чтобы максимально повысить производительность вывода на платформе Jetson.

Это руководство было протестировано с NVIDIA Jetson Orin Nano Super Developer Kit, работающим на последнем стабильном релизе JetPack JP6.1, Seeed Studio reComputer J4012 на базе NVIDIA Jetson Orin NX 16GB с релизом JetPack JP5.1.3 и Seeed Studio reComputer J1020 v2 на базе NVIDIA Jetson Nano 4GB с релизом JetPack JP4.6.4. Ожидается, что оно будет работать на всей линейке оборудования NVIDIA Jetson, включая как новые, так и устаревшие модели.
Link to this sectionЧто такое NVIDIA DeepStream?#
NVIDIA's DeepStream SDK — это полноценный набор инструментов для потоковой аналитики на базе GStreamer, предназначенный для обработки данных с нескольких датчиков, понимания видео, аудио и изображений с помощью ИИ. Он идеально подходит для разработчиков Vision AI, партнеров по программному обеспечению, стартапов и OEM-производителей, создающих приложения и сервисы IVA (интеллектуальная видеоаналитика). Теперь ты можешь создавать конвейеры потоковой обработки, которые включают нейронные сети и другие сложные задачи обработки, такие как отслеживание, кодирование/декодирование видео и рендеринг видео. Эти конвейеры обеспечивают аналитику данных с видео, изображений и датчиков в режиме реального времени. Многоплатформенная поддержка DeepStream дает тебе более быстрый и простой способ разработки приложений и сервисов Vision AI локально, на периферийных устройствах и в облаке.
Link to this sectionПредварительные требования#
Перед тем как приступить к изучению этого руководства:
- Посети нашу документацию, Краткое руководство: NVIDIA Jetson с Ultralytics YOLO26, чтобы настроить свое устройство NVIDIA Jetson для работы с Ultralytics YOLO26
- Установи DeepStream SDK в соответствии с версией JetPack
- Для JetPack 4.6.4 установи DeepStream 6.0.1
- Для JetPack 5.1.3 установи DeepStream 6.3
- Для JetPack 6.1 установи DeepStream 7.1
- Для JetPack 7.1 установи DeepStream 9.0
В этом руководстве мы использовали метод установки DeepStream SDK через пакеты Debian на устройство Jetson. Ты также можешь посетить DeepStream SDK on Jetson (Архив), чтобы получить доступ к старым версиям DeepStream.
Link to this sectionНастройка DeepStream для YOLO26#
Здесь мы используем репозиторий marcoslucianops/DeepStream-Yolo на GitHub, который включает поддержку моделей YOLO в NVIDIA DeepStream SDK. Мы ценим вклад marcoslucianops!
-
Установи Ultralytics с необходимыми зависимостями
cd ~ pip install -U pip git clone https://github.com/ultralytics/ultralytics cd ultralytics pip install -e ".[export]" onnxslim -
Клонируй репозиторий DeepStream-Yolo
cd ~ git clone https://github.com/marcoslucianops/DeepStream-Yolo -
Скопируй файл
export_yolo26.pyиз директорииDeepStream-Yolo/utilsв папкуultralyticscp ~/DeepStream-Yolo/utils/export_yolo26.py ~/ultralytics cd ultralytics -
Скачай модель детектирования Ultralytics YOLO26 (.pt) на свой выбор из релизов YOLO26. Здесь мы используем yolo26s.pt.
wget https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s.pt
Ты также можешь использовать собственную обученную модель YOLO26.
-
Конвертируй модель в ONNX
python3 export_yolo26.py -w yolo26s.pt
Для DeepStream 5.1 удали аргумент --dynamic и используй opset 12 или ниже. По умолчанию используется opset 17.
--opset 12Чтобы изменить размер вывода (по умолчанию: 640)
-s SIZE
--size SIZE
-s HEIGHT WIDTH
--size HEIGHT WIDTHПример для 1280:
-s 1280
or
-s 1280 1280Чтобы упростить модель ONNX (DeepStream >= 6.0)
--simplifyЧтобы использовать динамический размер пакета (DeepStream >= 6.1)
--dynamicЧтобы использовать статический размер пакета (пример для размера пакета = 4)
--batch 4-
Скопируй созданный файл модели
.onnxи файлlabels.txtв папкуDeepStream-Yolocp yolo26s.pt.onnx labels.txt ~/DeepStream-Yolo cd ~/DeepStream-Yolo -
Установи версию CUDA в соответствии с установленной версией JetPack
Для JetPack 4.6.4:
export CUDA_VER=10.2Для JetPack 5.1.3:
export CUDA_VER=11.4Для JetPack 6.1:
export CUDA_VER=12.6 -
Скомпилируй библиотеку
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
Отредактируй файл
config_infer_primary_yolo26.txtв соответствии с твоей моделью (для YOLO26s с 80 классами)[property] ... onnx-file=yolo26s.pt.onnx ... num-detected-classes=80 ... -
Отредактируй файл
deepstream_app_config... [primary-gie] ... config-file=config_infer_primary_yolo26.txt -
Ты также можешь изменить источник видео в файле
deepstream_app_config. Здесь загружается видеофайл по умолчанию... [source0] ... uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4
Link to this sectionЗапусти вывод#
deepstream-app -c deepstream_app_config.txtДля генерации файла движка TensorRT перед началом вывода потребуется время. Пожалуйста, наберись терпения.

Если ты хочешь конвертировать модель в точность FP16, просто установи model-engine-file=model_b1_gpu0_fp16.engine и network-mode=2 внутри config_infer_primary_yolo26.txt
Link to this sectionКалибровка INT8#
Если ты хочешь использовать точность INT8 для вывода, тебе нужно выполнить следующие шаги:
В настоящее время INT8 не работает с TensorRT 10.x. Этот раздел руководства был протестирован с TensorRT 8.x, с которой все должно работать.
-
Установи переменную окружения
OPENCVexport OPENCV=1 -
Скомпилируй библиотеку
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
Для набора данных COCO скачай val2017, распакуй и перемести в папку
DeepStream-Yolo -
Создай новую директорию для изображений калибровки
mkdir calibration -
Запусти следующую команду, чтобы выбрать 1000 случайных изображений из набора данных COCO для запуска калибровки
for jpg in $(ls -1 val2017/*.jpg | sort -R | head -1000); do cp ${jpg} calibration/ done
NVIDIA рекомендует использовать не менее 500 изображений для получения хорошей точности. В этом примере выбрано 1000 изображений для достижения лучшей точности (больше изображений = выше точность). Ты можешь настроить это с помощью head -1000. Например, для 2000 изображений используй head -2000. Этот процесс может занять много времени.
-
Создай файл
calibration.txtсо всеми выбранными изображениямиrealpath calibration/*jpg > calibration.txt -
Установи переменные окружения
export INT8_CALIB_IMG_PATH=calibration.txt export INT8_CALIB_BATCH_SIZE=1
Более высокие значения INT8_CALIB_BATCH_SIZE приведут к повышению точности и скорости калибровки. Установи значение в соответствии с объемом памяти твоего GPU.
-
Обнови файл
config_infer_primary_yolo26.txtОт
... model-engine-file=model_b1_gpu0_fp32.engine #int8-calib-file=calib.table ... network-mode=0 ...До
... model-engine-file=model_b1_gpu0_int8.engine int8-calib-file=calib.table ... network-mode=1 ...
Link to this sectionЗапусти вывод#
deepstream-app -c deepstream_app_config.txtLink to this sectionНастройка нескольких потоков#
Watch: How to Run Multi-Stream Inference with Ultralytics YOLO26 using NVIDIA DeepStream on Jetson Orin 🚀
Чтобы настроить несколько потоков в одном приложении DeepStream, внеси следующие изменения в файл deepstream_app_config.txt:
-
Измени количество строк и столбцов, чтобы создать сетку отображения в соответствии с количеством потоков, которые ты хочешь использовать. Например, для 4 потоков мы можем добавить 2 строки и 2 столбца.
[tiled-display] rows=2 columns=2 -
Установи
num-sources=4и добавь записиuriдля всех четырех потоков.[source0] enable=1 type=3 uri=path/to/video1.jpg uri=path/to/video2.jpg uri=path/to/video3.jpg uri=path/to/video4.jpg num-sources=4
Link to this sectionЗапусти вывод#
deepstream-app -c deepstream_app_config.txt
Link to this sectionРезультаты тестирования производительности#
Следующие тесты показывают, как модели YOLO26 работают при разных уровнях точности TensorRT с входным размером 640x640 на NVIDIA Jetson Orin NX 16GB.
Link to this sectionСравнительная диаграмма#

Link to this sectionПодробная сравнительная таблица#
| Формат | Статус | Время вывода (мс/из) |
|---|---|---|
| TensorRT (FP32) | ✅ | 8.64 |
| TensorRT (FP16) | ✅ | 5.27 |
| TensorRT (INT8) | ✅ | 4.54 |
Link to this sectionБлагодарности#
Это руководство было изначально создано нашими друзьями из Seeed Studio, Лакшантой и Элейн.
Link to this sectionFAQ#
Link to this sectionКак настроить Ultralytics YOLO26 на устройстве NVIDIA Jetson?#
Чтобы настроить Ultralytics YOLO26 на устройстве NVIDIA Jetson, сначала нужно установить DeepStream SDK, совместимый с твоей версией JetPack. Следуй пошаговому руководству в нашем Кратком руководстве, чтобы настроить свой NVIDIA Jetson для развертывания YOLO26.
Link to this sectionКакое преимущество дает использование TensorRT с YOLO26 на NVIDIA Jetson?#
Использование TensorRT с YOLO26 оптимизирует модель для вывода, значительно снижая задержку и увеличивая пропускную способность на устройствах NVIDIA Jetson. TensorRT обеспечивает высокопроизводительный вывод глубокого обучения с низкой задержкой за счет слияния слоев, калибровки точности и автонастройки ядер. Это приводит к более быстрому и эффективному выполнению, что особенно полезно для приложений реального времени, таких как видеоаналитика и автономные машины.
Link to this sectionМогу ли я запустить Ultralytics YOLO26 с DeepStream SDK на разных устройствах NVIDIA Jetson?#
Да, руководство по развертыванию Ultralytics YOLO26 с помощью DeepStream SDK и TensorRT совместимо со всей линейкой NVIDIA Jetson. Это включает такие устройства, как Jetson Orin NX 16GB с JetPack 5.1.3 и Jetson Nano 4GB с JetPack 4.6.4. Обратись к разделу Настройка DeepStream для YOLO26 для получения подробных инструкций.
Link to this sectionКак сконвертировать модель YOLO26 в ONNX для DeepStream?#
Чтобы сконвертировать модель YOLO26 в формат ONNX для развертывания с DeepStream, используй скрипт utils/export_yolo26.py из репозитория DeepStream-Yolo.
Вот пример команды:
python3 utils/export_yolo26.py -w yolo26s.pt --opset 12 --simplifyДля получения дополнительной информации о конвертации моделей ознакомься с нашим разделом экспорта моделей.
Link to this sectionКаковы показатели производительности YOLO на NVIDIA Jetson Orin NX?#
Производительность моделей YOLO26 на NVIDIA Jetson Orin NX 16GB варьируется в зависимости от уровня точности TensorRT. Например, модели YOLO26s достигают:
- Точность FP32: 14.6 мс/из., 68.5 FPS
- Точность FP16: 7.94 мс/из., 126 FPS
- Точность INT8: 5.95 мс/из., 168 FPS
Эти тесты подчеркивают эффективность и возможности использования оптимизированных для TensorRT моделей YOLO26 на оборудовании NVIDIA Jetson. Более подробную информацию см. в нашем разделе Результаты тестирования.