Руководство по быстрому старту: NVIDIA Jetson с Ultralytics YOLO26#
Это подробное руководство содержит пошаговую инструкцию по развертыванию Ultralytics YOLO26 на устройствах NVIDIA Jetson. Кроме того, в нем представлены тесты производительности, демонстрирующие возможности YOLO26 на этих небольших и мощных устройствах.
Мы обновили это руководство с учетом новейшего комплекта разработчика NVIDIA Jetson AGX Thor Developer Kit, который обеспечивает до 2070 FP4 TFLOPS производительности ИИ и 128 ГБ памяти с настраиваемым энергопотреблением в диапазоне от 40 Вт до 130 Вт. Он обеспечивает более чем в 7.5 раза более высокую производительность ИИ по сравнению с NVIDIA Jetson AGX Orin, а также в 3.5 раза лучшую энергоэффективность для беспрепятственного запуска самых популярных моделей ИИ.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Это руководство было протестировано с комплектом разработчика NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) и комплектом разработчика NVIDIA Jetson AGX Orin Developer Kit (64GB) под управлением новейшей стабильной версии JetPack 7.2, суперкомплектом разработчика NVIDIA Jetson Orin Nano Super Developer Kit под управлением JetPack версии JP6.1, Seeed Studio reComputer J4012 на базе NVIDIA Jetson Orin NX 16GB под управлением JetPack версии JP6.0 / JetPack версии JP5.1.3, а также Seeed Studio reComputer J1020 v2 на базе NVIDIA Jetson Nano 4GB под управлением JetPack версии JP4.6.1. Ожидается, что оно будет работать на всей линейке оборудования NVIDIA Jetson, включая как новейшие, так и устаревшие устройства.
Что такое NVIDIA Jetson?#
NVIDIA Jetson — это серия встраиваемых вычислительных плат, созданных для обеспечения ускоренных вычислений на основе ИИ (искусственного интеллекта) на периферийных устройствах. Эти компактные и мощные устройства построены на базе архитектуры GPU от NVIDIA и способны запускать сложные алгоритмы ИИ и модели deep learning непосредственно на самом устройстве, не полагаясь на ресурсы cloud computing. Платы Jetson часто используются в робототехнике, беспилотных транспортных средствах, промышленной автоматизации и других приложениях, где вывод ИИ должен выполняться локально с низкой задержкой и высокой эффективностью. Кроме того, эти платы основаны на архитектуре ARM64 и потребляют меньше энергии по сравнению с традиционными вычислительными устройствами на базе GPU.
Сравнение серии NVIDIA Jetson#
NVIDIA Jetson AGX Thor — это новейшая итерация семейства NVIDIA Jetson на базе архитектуры NVIDIA Blackwell, которая обеспечивает значительно возросшую производительность ИИ по сравнению с предыдущими поколениями. В таблице ниже приведено сравнение некоторых устройств Jetson в этой экосистеме.
| Jetson AGX Thor(T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Производительность ИИ | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | 2560-ядерный GPU на архитектуре NVIDIA Blackwell с 96 тензорными ядрами | 2048-ядерный GPU на архитектуре NVIDIA Ampere с 64 тензорными ядрами | 1024-ядерный GPU на архитектуре NVIDIA Ampere с 32 тензорными ядрами | 1024-ядерный GPU на архитектуре NVIDIA Ampere с 32 тензорными ядрами | 512-ядерный GPU на архитектуре NVIDIA Volta с 64 тензорными ядрами | 384-ядерный GPU на архитектуре NVIDIA Volta™ с 48 тензорными ядрами | 128-ядерный GPU на архитектуре NVIDIA Maxwell™ |
| Макс. частота GPU | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | 14-ядерный Arm® Neoverse®-V3AE 64-битный CPU 1МБ L2 + 16МБ L3 | 12-ядерный NVIDIA Arm® Cortex A78AE v8.2 64-битный CPU 3МБ L2 + 6МБ L3 | 8-ядерный NVIDIA Arm® Cortex A78AE v8.2 64-битный CPU 2МБ L2 + 4МБ L3 | 6-ядерный Arm® Cortex®-A78AE v8.2 64-битный CPU 1.5МБ L2 + 4МБ L3 | 8-ядерный NVIDIA Carmel Arm®v8.2 64-битный CPU 8МБ L2 + 4МБ L3 | 6-ядерный NVIDIA Carmel Arm®v8.2 64-битный CPU 6МБ L2 + 4МБ L3 | Четырехъядерный процессор Arm® Cortex®-A57 MPCore |
| Макс. частота CPU | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Память | 128ГБ 256-бит LPDDR5X 273ГБ/с | 64ГБ 256-бит LPDDR5 204.8ГБ/с | 16ГБ 128-бит LPDDR5 102.4ГБ/с | 8ГБ 128-бит LPDDR5 102 ГБ/с | 32ГБ 256-бит LPDDR4x 136.5ГБ/с | 8ГБ 128-бит LPDDR4x 59.7ГБ/с | 4ГБ 64-бит LPDDR4 25.6ГБ/с |
Для получения более подробной сравнительной таблицы посетите раздел Compare Specifications на официальной странице NVIDIA Jetson.
Что такое NVIDIA JetPack?#
NVIDIA JetPack SDK, управляющий модулями Jetson, является наиболее комплексным решением и предоставляет полноценную среду разработки для создания сквозных ускоренных приложений ИИ, а также сокращает время выхода на рынок. JetPack включает в себя Jetson Linux с загрузчиком, ядро Linux, среду рабочего стола Ubuntu и полный набор библиотек для ускорения вычислений на GPU, мультимедиа, графики и computer vision. Он также содержит примеры, документацию и инструменты разработчика как для хост-компьютера, так и для комплекта разработчика, а также поддерживает SDK более высокого уровня, такие как DeepStream для потоковой аналитики видео, Isaac для робототехники и Riva для разговорного ИИ.
Прошивка JetPack на NVIDIA Jetson#
Первый шаг после получения устройства NVIDIA Jetson — прошивка NVIDIA JetPack на устройство. Существует несколько способов прошивки устройств NVIDIA Jetson.
- Для JetPack 7.2 на официальном комплекте разработчика Jetson AGX Thor, AGX Orin или Orin Nano загрузите единый ISO-образ Jetson, запишите его на USB-флеш-накопитель и следуйте инструкциям по быстрому запуску для конкретного устройства: AGX Thor, AGX Orin или Orin Nano. Начиная с JetPack 7.2, Orin Nano больше не использует загружаемый образ для SD-карты; ISO-образ с USB устанавливает Jetson Linux на карту microSD или SSD-накопитель NVMe вашего устройства.
- Если ты намеренно используешь JetPack 6 на комплекте разработчика Jetson Orin Nano Developer Kit, следуй инструкциям NVIDIA по обновлению JetPack 6.x и работе с SD-картами.
- Если у тебя есть любой другой комплект разработчика NVIDIA, ты можешь выполнить прошивку JetPack на устройство с помощью SDK Manager.
- Если у тебя устройство Seeed Studio reComputer J4012, ты можешь выполнить прошивку JetPack на встроенный SSD, а если у тебя устройство Seeed Studio reComputer J1020 v2 — выполнить прошивку JetPack на eMMC/ SSD.
- Если у тебя любое другое устройство стороннего производителя на базе модуля NVIDIA Jetson, рекомендуется использовать прошивку через командную строку.
Для методов 1, 4 и 5 выше, после прошивки системы и загрузки устройства, пожалуйста, введи "sudo apt update && sudo apt install nvidia-jetpack -y" в терминале устройства, чтобы установить все необходимые оставшиеся компоненты JetPack.
Поддержка JetPack в зависимости от устройства Jetson#
В таблице ниже показаны версии NVIDIA JetPack, поддерживаемые различными устройствами NVIDIA Jetson.
| JetPack 4 | JetPack 5 | JetPack 6 | JetPack 7 | |
|---|---|---|---|---|
| Jetson Nano | ✅ | ❌ | ❌ | ❌ |
| Jetson TX2 | ✅ | ❌ | ❌ | ❌ |
| Jetson Xavier NX | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Xavier | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Orin | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin NX | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin Nano | ❌ | ✅ | ✅ | ✅ |
| Jetson AGX Thor | ❌ | ❌ | ❌ | ✅ |
Краткое начало работы с Docker#
Самый быстрый способ начать работу с Ultralytics YOLO26 на NVIDIA Jetson — запустить готовые Docker-образы для Jetson. Сверься с таблицей выше и выбери версию JetPack в соответствии с тем устройством Jetson, которое у тебя есть.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tПубличный образ latest-nvidia-arm64 в настоящее время поддерживает только путь для JetPack 7.0 Thor/DGX Spark. Для JetPack 7.2 на Thor или Orin используйте нативную установку ниже, пока публичный образ не будет явно проверен и обновлен для этих комбинаций.
После этого перейдите к разделу Use TensorRT on NVIDIA Jetson section.
Начало работы с нативной установкой#
Для нативной установки без Docker, пожалуйста, обратись к шагам ниже.
Запуск на JetPack 7.2#
Установка пакета Ultralytics#
Здесь мы установим пакет Ultralytics на Jetson с дополнительными зависимостями, чтобы мы могли экспортировать модели PyTorch в другие различные форматы. Мы сосредоточимся в основном на NVIDIA TensorRT exports, поскольку TensorRT гарантирует максимальную производительность на устройствах Jetson.
-
Обнови список пакетов, установи pip и обнови его до последней версии
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Установите pip-пакет
ultralyticsс дополнительными зависимостямиpip install ultralytics[export] -
Перезагрузи устройство
sudo reboot
Установка PyTorch и Torchvision#
Указанная выше установка Ultralytics установит Torch и Torchvision. Однако эти 2 пакета, установленные через pip, несовместимы с запуском на устройствах с JetPack 7.2 и CUDA 13. Поэтому нам нужно установить их вручную.
Установите torch и torchvision в соответствии с JP7.2
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Установить onnxruntime-gpu#
Пакет onnxruntime-gpu, размещенный в PyPI, не содержит бинарных файлов aarch64 для Jetson. Поэтому нам нужно установить этот пакет вручную. Этот пакет необходим для некоторых видов экспорта.
Здесь мы скачаем и установим onnxruntime-gpu 1.24.0 с поддержкой Python3.12.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlЗапуск на JetPack 6.1#
Установка пакета Ultralytics#
Здесь мы установим пакет Ultralytics на Jetson с дополнительными зависимостями, чтобы мы могли экспортировать модели PyTorch в другие различные форматы. Мы сосредоточимся в основном на NVIDIA TensorRT exports, поскольку TensorRT гарантирует максимальную производительность на устройствах Jetson.
-
Обнови список пакетов, установи pip и обнови его до последней версии
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Установите pip-пакет
ultralyticsс дополнительными зависимостямиpip install ultralytics[export] -
Перезагрузи устройство
sudo reboot
Установка PyTorch и Torchvision#
Указанная выше установка Ultralytics установит Torch и Torchvision. Однако эти два пакета, установленные через pip, несовместимы с платформой Jetson, которая основана на архитектуре ARM64. Поэтому нам нужно вручную установить предварительно собранный pip-wheel PyTorch и скомпилировать или установить Torchvision из исходного кода.
Установите torch 2.10.0 и torchvision 0.25.0 в соответствии с JP6.1
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whlПосетите страницу PyTorch для Jetson, чтобы получить доступ ко всем различным версиям PyTorch для различных версий JetPack. Более подробный список совместимости PyTorch и Torchvision можно найти на странице совместимости PyTorch и Torchvision.
Установите cuDSS, чтобы исправить проблему с зависимостями для torch 2.10.0
wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudssУстановить onnxruntime-gpu#
Пакет onnxruntime-gpu, размещенный в PyPI, не содержит бинарных файлов aarch64 для Jetson. Поэтому нам нужно установить этот пакет вручную. Этот пакет необходим для некоторых видов экспорта.
Все доступные пакеты onnxruntime-gpu (сгруппированные по версии JetPack, версии Python и другим деталям совместимости) можно найти в матрице совместимости Jetson Zoo ONNX Runtime.
Для JetPack 6 с поддержкой Python 3.10 ты можешь установить onnxruntime-gpu 1.23.0:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whlВ качестве альтернативы для onnxruntime-gpu 1.20.0:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whlЗапуск на JetPack 5.1.2#
Установка пакета Ultralytics#
Здесь мы установим пакет Ultralytics на Jetson с дополнительными зависимостями, чтобы мы могли экспортировать модели PyTorch в другие различные форматы. Мы сосредоточимся в основном на NVIDIA TensorRT exports, поскольку TensorRT гарантирует максимальную производительность на устройствах Jetson.
-
Обнови список пакетов, установи pip и обнови его до последней версии
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Установите pip-пакет
ultralyticsс дополнительными зависимостямиpip install ultralytics[export] -
Перезагрузи устройство
sudo reboot
Установка PyTorch и Torchvision#
Указанная выше установка Ultralytics установит Torch и Torchvision. Однако эти два пакета, установленные через pip, несовместимы с платформой Jetson, которая основана на архитектуре ARM64. Поэтому нам нужно вручную установить предварительно собранный pip-wheel PyTorch и скомпилировать или установить Torchvision из исходного кода.
-
Удали текущие версии PyTorch и Torchvision
pip uninstall torch torchvision -
Установите
torch 2.1.0иtorchvision 0.16.2в соответствии с JP5.1.2pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Посетите страницу PyTorch для Jetson, чтобы получить доступ ко всем различным версиям PyTorch для различных версий JetPack. Более подробный список совместимости PyTorch и Torchvision можно найти на странице совместимости PyTorch и Torchvision.
Установить onnxruntime-gpu#
Пакет onnxruntime-gpu, размещенный в PyPI, не содержит бинарных файлов aarch64 для Jetson. Поэтому нам нужно установить этот пакет вручную. Этот пакет необходим для некоторых видов экспорта.
Все доступные пакеты onnxruntime-gpu (сгруппированные по версии JetPack, версии Python и другим деталям совместимости) можно найти в матрице совместимости Jetson Zoo ONNX Runtime. Здесь мы скачаем и установим onnxruntime-gpu 1.17.0 с поддержкой Python3.8.
wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whlonnxruntime-gpu автоматически вернет версию NumPy к самой последней. Поэтому нам нужно переустановить NumPy до 1.23.5, чтобы исправить проблему, выполнив:
pip install numpy==1.23.5
Использование TensorRT на NVIDIA Jetson#
Среди всех форматов экспортных моделей, поддерживаемых Ultralytics, TensorRT обеспечивает наивысшую производительность инференса на устройствах NVIDIA Jetson, что делает его нашим главным рекомендательным выбором для развертывания на Jetson. Инструкции по настройке и расширенное использование см. в нашем специальном руководстве по интеграции TensorRT.
Вы также можете выполнять экспорт из браузера без локальной настройки среды сборки. На вкладке Ultralytics Platform model Export tab выберите TensorRT и нужную целевую платформу Jetson. Выбор для Thor проверяется на физическом оборудовании Thor. Шесть вариантов выбора для Orin в настоящее время создают файлы кандидатов движков, собранные под AGX-Orin; проверьте их на целевой модификации (SKU) Orin перед развертыванием.
TensorRT профилирует и оптимизирует движок на GPU, на котором он собирается. Сопоставь архитектуру GPU цели и среду выполнения TensorRT/CUDA, а затем проверь каждый скачанный движок на устройстве развертывания. SKU Orin с одинаковой архитектурой не гарантируют автоматическую переносимость, поэтому для достижения наилучших результатов при калибровке INT8 следует использовать целевое устройство.
Преобразование модели в TensorRT и запуск вывода#
Модель YOLO26n в формате PyTorch преобразуется в TensorRT для выполнения вывода с использованием экспортированной модели.
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo26n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")Посетите страницу экспорта, чтобы ознакомиться с дополнительными аргументами при экспорте моделей в различные форматы
Использование ускорителя глубокого обучения NVIDIA (DLA)#
NVIDIA Deep Learning Accelerator (DLA) — это специализированный аппаратный компонент, встроенный в устройства NVIDIA Jetson, который оптимизирует вывод глубокого обучения для достижения энергоэффективности и высокой производительности. Перекладывая задачи с графического процессора (освобождая его для более интенсивных процессов), DLA позволяет моделям работать с меньшим энергопотреблением при сохранении высокой пропускной способности, что идеально подходит для встраиваемых систем и приложений ИИ реального времени.
DLA не поддерживается в TensorRT 11.0, но его возвращение планируется в будущих релизах, поэтому для экспорта DLA требуется TensorRT 10.x. На JetPack 6.x/7.x выполняй экспорт с использованием сборки TensorRT 10.x для работы с DLA или используй GPU для движков TensorRT 11.0.
Следующие устройства Jetson оснащены оборудованием DLA:
| Устройство Jetson | Ядра DLA | Макс. частота DLA |
|---|---|---|
| Серия Jetson AGX Orin | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Серия Jetson AGX Xavier | 2 | 1.4 GHz |
| Серия Jetson Xavier NX | 2 | 1.1 GHz |
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 or dla:1 corresponds to the DLA cores
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")При использовании экспорта DLA некоторые слои могут не поддерживаться для запуска на DLA, и выполнение перейдет на GPU. Этот откат может увеличить задержку и повлиять на общую производительность вывода. Поэтому DLA в первую очередь не предназначен для уменьшения задержки вывода по сравнению с TensorRT, работающим полностью на GPU. Напротив, его основная цель — увеличить пропускную способность и повысить энергоэффективность.
Тесты производительности NVIDIA Jetson YOLO11/ YOLO26#
Тесты YOLO11/ YOLO26 были запущены командой Ultralytics на 11 различных форматах моделей с измерением скорости и точности: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Тесты выполнялись на комплекте разработчика NVIDIA Jetson AGX Thor Developer Kit, комплекте разработчика NVIDIA Jetson AGX Orin Developer Kit (64GB), комплекте разработчика NVIDIA Jetson Orin Nano Super Developer Kit и устройстве Seeed Studio reComputer J4012 на базе Jetson Orin NX 16GB в режиме прецизионности FP32 со стандартным размером входного изображения 640.
Графики сравнения#
Несмотря на то, что все экспорты моделей работают на NVIDIA Jetson, в приведенную ниже сравнительную таблицу мы включили только PyTorch, TorchScript, TensorRT, поскольку они используют GPU на Jetson и гарантированно дают наилучшие результаты. Все остальные экспорты используют только CPU, и производительность у них не такая высокая, как у этих трех. Ты можешь найти тесты для всех экспортов в разделе после этой таблицы.
NVIDIA Jetson AGX Thor Developer Kit#
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
NVIDIA Jetson Orin Nano Super Developer Kit#
NVIDIA Jetson Orin NX 16GB#
Подробные сравнительные таблицы#
Нижеприведенная таблица представляет результаты тестов для пяти различных моделей (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) в 11 различных форматах (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), показывая нам статус, размер, метрику mAP50-95(B) и время вывода для каждой комбинации.
NVIDIA Jetson AGX Thor Developer Kit#
| Формат | Статус | Размер на диске (МБ) | mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Протестировано с Ultralytics 8.4.7
Время вывода не включает предварительную/пост-обработку.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| Формат | Статус | Размер на диске (МБ) | mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.0450 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.0450 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Протестировано с Ultralytics 8.4.32
Время вывода не включает предварительную/пост-обработку.
NVIDIA Jetson Orin Nano Super Developer Kit#
| Формат | Статус | Размер на диске (МБ) | mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Протестировано с Ultralytics 8.4.33
Время вывода не включает предварительную/пост-обработку.
NVIDIA Jetson Orin NX 16GB#
| Формат | Статус | Размер на диске (МБ) | mAP50-95(B) | Время вывода (мс/из) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Протестировано с Ultralytics 8.4.33
Время вывода не включает предварительную/пост-обработку.
Ознакомьтесь с другими бенчмарками от Seeed Studio, работающими на различных версиях оборудования NVIDIA Jetson.
Воспроизведи наши результаты#
Чтобы воспроизвести указанные выше бенчмарки Ultralytics для всех форматов экспорта, выполните этот код:
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)Обратите внимание, что результаты тестирования производительности могут отличаться в зависимости от точной конфигурации оборудования и программного обеспечения системы, а также от текущей нагрузки на систему в момент запуска тестов. Для получения наиболее надежных результатов используйте датасет с большим количеством изображений, например, data='coco.yaml' (5000 валидационных изображений).
Рекомендации по работе с NVIDIA Jetson#
При работе с NVIDIA Jetson есть несколько рекомендаций, которые помогут тебе добиться максимальной производительности при запуске YOLO26 на NVIDIA Jetson.
-
Включи режим максимальной производительности (MAX Power Mode)
Включение MAX Power Mode на Jetson гарантирует, что все ядра CPU и GPU будут задействованы.
sudo nvpmodel -m 0 -
Включи Jetson Clocks
Включение Jetson Clocks гарантирует, что все ядра CPU и GPU будут работать на максимальной частоте.
sudo jetson_clocks -
Установи приложение Jetson Stats
Ты можешь использовать приложение jetson stats для мониторинга температуры компонентов системы и проверки других деталей системы, таких как загрузка CPU, GPU, RAM, изменение режимов питания, установка максимальных частот, проверка информации о JetPack.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
Советы по оптимизации памяти для NVIDIA Jetson#
Доступный объем памяти часто является ограничивающим фактором на устройствах Jetson, особенно на вариантах с меньшим объемом памяти, таких как Jetson Orin Nano (8 ГБ) или Orin NX (8 ГБ). Приведенные ниже советы представляют собой практичные и безопасные изменения, которые в совокупности позволяют освободить несколько сотен мегабайт и запустить более крупные модели YOLO или поддержать дополнительные параллельные рабочие нагрузки. Подробное описание см. в блоге NVIDIA об оптимизации памяти на Jetson.
1. Переключись на загрузку без графического интерфейса (Headless/No-GUI)#
Если твой Jetson подключен по SSH или работает как промышленное устройство без монитора, отключение среды рабочего стола и графического сервера может освободить до 865 МБ ОЗУ:
sudo systemctl set-default multi-user.target
sudo rebootЧтобы восстановить рабочий стол позже:
sudo systemctl set-default graphical.target
sudo reboot2. Отключи неиспользуемые системные службы#
Несущественные фоновые службы (Bluetooth, менеджеры сетевых подключений, неиспользуемые аппаратные демоны) потребляют около 32 МБ суммарно. Просмотри активные службы и отключи всё, что не требуется для твоей задачи:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAME3. Профилируй использование памяти#
Перед оптимизацией определите, какие процессы действительно потребляют оперативной память. procrank сортирует процессы по параметру PSS (Proportional Set Size), который отражает истинный объем памяти на один процесс точнее, чем RSS (Resident Set Size, общий объем страниц физической ОЗУ, отображаемых процессом, включая страницы, общие с другими процессами):
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankДля просмотра выделения памяти GPU и NvMap (CUDA/видеоконвейер) для каждого процесса:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Запускай инференс в промышленной среде без графического вывода#
Для конвейеров инференса, где не требуется просмотр в реальном времени, отключение компонентов, связанных с дисплеем (Tiler, OSD, DisplaySink), может сэкономить более 200 МБ только на конвейере. При использовании Ultralytics YOLO отключи визуализатор и записывай результаты на диск:
from ultralytics import YOLO
model = YOLO("yolo11n.engine")
# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)Суммарный эффект#
| Оптимизация | Прибл. сэкономленная память |
|---|---|
| Отключение графического интерфейса рабочего стола | ~865 MB |
| Отключение неиспользуемых системных служб | ~32 MB |
| Конвейер инференса без отображения (без монитора) | ~200+ MB |
| Итого (легкие улучшения) | ~1 ГБ+ |
Комбинирование этих изменений особенно ценно при использовании моделей TensorRT INT8 на устройствах с ограниченным объемом памяти — это может стать решающим фактором, позволяющим или не позволяющим уместить более крупный вариант модели в память.
Дальнейшие шаги#
Для дальнейшего обучения и получения поддержки обратитесь к документации Ultralytics YOLO26.
FAQ#
Развертывание Ultralytics YOLO26 на устройствах NVIDIA Jetson — простой процесс. Сначала прошейте свое устройство Jetson с помощью NVIDIA JetPack SDK. Затем воспользуйтесь либо готовым образом Docker для быстрого запуска, либо установите необходимые пакеты вручную. Подробные шаги для каждого подхода можно найти в разделах Quick Start with Docker и Start with Native Installation.
Модели YOLO11 протестированы на различных устройствах NVIDIA Jetson и демонстрируют значительное улучшение производительности. Например, формат TensorRT обеспечивает наилучшую производительность инференса. Таблица в разделе Detailed Comparison Tables дает исчерпывающее представление о таких метриках производительности, как mAP50-95 и время инференса для различных форматов моделей.
TensorRT настоятельно рекомендуется для развертывания моделей YOLO26 на NVIDIA Jetson благодаря своей оптимальной производительности. Он ускоряет инференс за счет использования возможностей графического процессора Jetson, обеспечивая максимальную эффективность и скорость. Узнайте больше о том, как выполнить конвертацию в TensorRT и запустить инференс, в разделе Use TensorRT on NVIDIA Jetson.
Чтобы установить PyTorch и Torchvision на NVIDIA Jetson, сначала удалите все существующие версии, которые могли быть установлены через pip. Затем вручную установите совместимые версии PyTorch и Torchvision для архитектуры ARM64 устройств Jetson. Подробные инструкции по этому процессу приведены в разделе Install PyTorch and Torchvision.
Чтобы максимизировать производительность на NVIDIA Jetson с помощью YOLO26, следуй этим лучшим практикам:
- Включи режим MAX Power Mode, чтобы использовать все ядра CPU и GPU.
- Включи Jetson Clocks, чтобы все ядра работали на максимальной частоте.
- Установи приложение Jetson Stats для отслеживания системных метрик.
Команды и дополнительную информацию см. в разделе Best Practices when using NVIDIA Jetson.
Доступная оперативная память часто становится «бутылочным горлышком» на устройствах Jetson с малым объемом памяти. Три простых действия, которые вместе могут освободить более 1 ГБ:
- Переключись на загрузку без графического интерфейса (
sudo systemctl set-default multi-user.target), чтобы избавиться от графического интерфейса рабочего стола (экономия ~865 МБ). - Отключи неиспользуемые службы, такие как Bluetooth или менеджеры сетевых соединений (~32 МБ экономии).
- Запускай инференс без дисплея, установив
show=Falseв своем вызове YOLOpredict, что позволяет избежать выделения памяти под конвейер отображения (экономия ~200+ МБ).
Используй
procrankдля профилирования использования ОЗУ на процесс иsudo cat /sys/kernel/debug/nvmap/iovmm/clientsдля проверки выделения памяти GPU. Подробную информацию см. в разделе Memory Optimization Tips.- Переключись на загрузку без графического интерфейса (
Версия TensorRT 10.3.0, поставляемая с JetPack 6, имеет известную проблему, которая препятствует созданию движков INT8 при включенном
end2end=True. Когда Ultralytics обнаруживает эту комбинацию, она автоматически отключает ветку end2end, чтобы гарантировать успешное завершение экспорта.Чтобы восстановить экспорт end2end INT8, обнови TensorRT до более новой версии (например, 10.7.0+):
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get install -y tensorrtПосле обновления перезапустите экспорт. Дополнительные сведения см. в выпуске GitHub #23841.