Краткое руководство: 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 Ecosystem
Примечание

Это руководство было протестировано с использованием NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) под управлением последней стабильной версии JetPack JP7.0, NVIDIA Jetson AGX Orin Developer Kit (64GB) под управлением версии JetPack JP6.2, NVIDIA Jetson Orin Nano Super Developer Kit под управлением версии JetPack JP6.1, Seeed Studio reComputer J4012, основанного на NVIDIA Jetson Orin NX 16GB под управлением версии JetPack JP6.0 / JP5.1.3, а также Seeed Studio reComputer J1020 v2, основанного на NVIDIA Jetson Nano 4GB под управлением версии JetPack JP4.6.1. Ожидается, что оно будет работать на всей линейке оборудования NVIDIA Jetson, включая как новейшие, так и устаревшие устройства.

Что такое NVIDIA Jetson?

NVIDIA Jetson — это серия встраиваемых вычислительных плат, предназначенных для внедрения ускоренных ИИ-вычислений (искусственного интеллекта) на периферийные устройства. Эти компактные и мощные устройства построены на базе графической архитектуры NVIDIA и могут запускать сложные ИИ-алгоритмы и модели глубокого обучения непосредственно на самом устройстве, не полагаясь на облачные вычислительные ресурсы. Платы Jetson часто используются в робототехнике, автономных транспортных средствах, промышленной автоматизации и других приложениях, где ИИ-выводы должны выполняться локально с низкой задержкой и высокой эффективностью. Кроме того, эти платы основаны на архитектуре ARM64 и потребляют меньше энергии по сравнению с традиционными устройствами для GPU-вычислений.

Сравнение серии NVIDIA Jetson

NVIDIA Jetson AGX Thor — это новейшая итерация семейства NVIDIA Jetson, основанная на архитектуре NVIDIA Blackwell, которая обеспечивает значительно улучшенную производительность ИИ по сравнению с предыдущими поколениями. В таблице ниже сравниваются некоторые устройства Jetson в этой экосистеме.

Jetson AGX Thor(T5000)Jetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
AI производительность2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPU2560-ядерный графический процессор NVIDIA Blackwell с 96 тензорными ядрами2048-ядерный графический процессор NVIDIA Ampere с 64 тензорными ядрами1024-ядерный графический процессор NVIDIA Ampere с 32 тензорными ядрами1024-ядерный графический процессор NVIDIA Ampere с 32 тензорными ядрами512-ядерный графический процессор NVIDIA Volta с 64 тензорными ядрами384-ядерный графический процессор NVIDIA Volta™ с 48 тензорными ядрами128-ядерный графический процессор NVIDIA Maxwell™
Макс. частота GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPU14-ядерный Arm® Neoverse®-V3AE 64-битный CPU 1МБ L2 + 16МБ L312-ядерный NVIDIA Arm® Cortex A78AE v8.2 64-битный CPU 3МБ L2 + 6МБ L38-ядерный NVIDIA Arm® Cortex A78AE v8.2 64-битный CPU 2МБ L2 + 4МБ L36-ядерный Arm® Cortex®-A78AE v8.2 64-битный CPU 1.5МБ L2 + 4МБ L38-ядерный NVIDIA Carmel Arm®v8.2 64-битный CPU 8МБ L2 + 4МБ L36-ядерный NVIDIA Carmel Arm®v8.2 64-битный CPU 6МБ L2 + 4МБ L3Четырехъядерный процессор Arm® Cortex®-A57 MPCore
Макс. частота CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Память128GB 256-bit LPDDR5X 273GB/s64GB 256-bit LPDDR5 204.8GB/s16GB 128-bit LPDDR5 102.4GB/s8GB 128-bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136.5GB/s8GB 128-bit LPDDR4x 59.7GB/s4GB 64-bit LPDDR4 25.6GB/s

Для получения более подробной сравнительной таблицы посетите раздел Compare Specifications на официальной странице NVIDIA Jetson.

Что такое NVIDIA JetPack?

NVIDIA JetPack SDK, работающий на модулях Jetson, является наиболее комплексным решением и предоставляет полноценную среду разработки для создания сквозных ускоренных ИИ-приложений, что сокращает время выхода продукта на рынок. JetPack включает Jetson Linux с загрузчиком, ядро Linux, среду рабочего стола Ubuntu и полный набор библиотек для ускорения GPU-вычислений, мультимедиа, графики и компьютерного зрения. Он также включает примеры, документацию и инструменты разработки как для хост-компьютера, так и для комплекта разработчика, а также поддерживает SDK более высокого уровня, такие как DeepStream для потоковой аналитики видео, Isaac для робототехники и Riva для диалогового ИИ.

Прошивка JetPack на NVIDIA Jetson

Первый шаг после получения устройства NVIDIA Jetson — прошивка NVIDIA JetPack на устройство. Существует несколько различных способов прошивки устройств NVIDIA Jetson.

  1. Если у тебя есть официальный комплект разработчика NVIDIA, например, Jetson AGX Thor Developer Kit, ты можешь загрузить образ и подготовить загрузочный USB-накопитель для прошивки JetPack на входящий в комплект SSD.
  2. Если у тебя есть официальный комплект разработчика NVIDIA, например, Jetson Orin Nano Developer Kit, ты можешь загрузить образ и подготовить SD-карту с JetPack для загрузки устройства.
  3. Если у тебя есть любой другой комплект разработчика NVIDIA, ты можешь прошить JetPack на устройство с помощью SDK Manager.
  4. Если у тебя устройство Seeed Studio reComputer J4012, ты можешь прошить JetPack на входящий в комплект SSD, а если у тебя устройство Seeed Studio reComputer J1020 v2, ты можешь прошить JetPack на eMMC/SSD.
  5. Если у тебя есть любое другое стороннее устройство, работающее на модуле NVIDIA Jetson, рекомендуется следовать инструкции по прошивке через командную строку.
Примечание

Для методов 1, 4 и 5 выше, после прошивки системы и загрузки устройства, пожалуйста, введи "sudo apt update && sudo apt install nvidia-jetpack -y" в терминале устройства, чтобы установить все оставшиеся необходимые компоненты JetPack.

Поддержка JetPack в зависимости от устройства Jetson

В таблице ниже указаны версии NVIDIA JetPack, поддерживаемые различными устройствами NVIDIA Jetson.

JetPack 4JetPack 5JetPack 6JetPack 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

После этого переходи к разделу Использование TensorRT на NVIDIA Jetson.

Начало работы с нативной установкой

Для нативной установки без Docker, пожалуйста, обратись к шагам ниже.

Запуск на JetPack 7.0

Установка пакета Ultralytics

Здесь мы установим пакет Ultralytics на Jetson с опциональными зависимостями, чтобы можно было экспортировать модели PyTorch в другие различные форматы. Мы сосредоточимся в основном на экспорте NVIDIA TensorRT, поскольку TensorRT обеспечит максимальную производительность устройств Jetson.

  1. Обнови список пакетов, установи pip и обновись до последней версии

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Установи pip-пакет ultralytics с дополнительными зависимостями

    pip install ultralytics[export]
  3. Перезагрузи устройство

    sudo reboot

Установка PyTorch и Torchvision

Вышеуказанная установка ultralytics установит Torch и Torchvision. Однако эти 2 пакета, установленные через pip, несовместимы для работы на Jetson AGX Thor, который поставляется с JetPack 7.0 и CUDA 13. Поэтому нам нужно установить их вручную.

Установи torch и torchvision в соответствии с JP7.0

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, поскольку TensorRT обеспечит максимальную производительность устройств Jetson.

  1. Обнови список пакетов, установи pip и обновись до последней версии

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Установи pip-пакет ultralytics с дополнительными зависимостями

    pip install ultralytics[export]
  3. Перезагрузи устройство

    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, поскольку TensorRT обеспечит максимальную производительность устройств Jetson.

  1. Обнови список пакетов, установи pip и обновись до последней версии

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Установи pip-пакет ultralytics с дополнительными зависимостями

    pip install ultralytics[export]
  3. Перезагрузи устройство

    sudo reboot

Установка PyTorch и Torchvision

Вышеуказанная установка ultralytics установит Torch и Torchvision. Однако эти два пакета, установленные через pip, несовместимы с платформой Jetson, которая основана на архитектуре ARM64. Поэтому нам нужно вручную установить готовый pip-wheel PyTorch и скомпилировать или установить Torchvision из исходного кода.

  1. Удали текущие установленные PyTorch и Torchvision

    pip uninstall torch torchvision
  2. Установи torch 2.1.0 и torchvision 0.16.2 в соответствии с JP5.1.2

    pip 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 и другим деталям совместимости—в матрице совместимости ONNX Runtime для Jetson Zoo. Здесь мы загрузим и установим 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.whl
Примечание

onnxruntime-gpu автоматически откатит версию NumPy до последней. Поэтому нам нужно переустановить NumPy до версии 1.23.5, чтобы исправить проблему, выполнив:

pip install numpy==1.23.5

Используй TensorRT на NVIDIA Jetson

Среди всех форматов экспорта моделей, поддерживаемых Ultralytics, TensorRT обеспечивает наивысшую производительность вывода на устройствах NVIDIA Jetson, что делает его нашей главной рекомендацией для развертывания на Jetson. Инструкции по настройке и расширенному использованию смотри в нашем специальном руководстве по интеграции TensorRT.

Конвертация модели в 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 Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA)—это специализированный аппаратный компонент, встроенный в устройства NVIDIA Jetson, который оптимизирует вывод глубокого обучения для повышения энергоэффективности и производительности. Разгружая GPU (освобождая его для более интенсивных процессов), DLA позволяет моделям работать с меньшим энергопотреблением при сохранении высокой пропускной способности, что идеально подходит для встроенных систем и приложений реального времени.

Следующие устройства Jetson оснащены оборудованием DLA:

Устройство JetsonЯдра DLAМакс. частота DLA
Серия Jetson AGX Orin21.6 ГГц
Jetson Orin NX 16GB2614 МГц
Jetson Orin NX 8GB1614 МГц
Серия Jetson AGX Xavier21.4 ГГц
Серия Jetson Xavier NX21.1 ГГц
Пример
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", half=True)  # 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

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

NVIDIA Jetson Orin Nano Super Developer Kit

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16GB

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

Подробные сравнительные таблицы

Нижеприведенная таблица представляет результаты тестирования для пяти различных моделей (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)Время инференса (мс/из)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

Протестировано с Ultralytics 8.4.7

Примечание

Время логического вывода не включает предварительную/последующую обработку.

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Производительность
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/из)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

Протестировано с Ultralytics 8.4.32

Примечание

Время логического вывода не включает предварительную/последующую обработку.

NVIDIA Jetson Orin Nano Super Developer Kit

Производительность
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/из)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

Протестировано с Ultralytics 8.4.33

Примечание

Время логического вывода не включает предварительную/последующую обработку.

NVIDIA Jetson Orin NX 16GB

Производительность
ФорматСтатусРазмер на диске (МБ)mAP50-95(B)Время инференса (мс/из)
PyTorch5.30.479913.90
TorchScript9.80.478711.60
ONNX9.50.476314.18
OpenVINO9.60.481940.19
TensorRT (FP32)11.40.47707.01
TensorRT (FP16)8.00.47894.13
TensorRT (INT8)5.50.44893.49
TF SavedModel24.60.476492.34
TF GraphDef9.50.476492.06
TF Lite9.90.4764254.43
MNN9.40.476048.55
NCNN9.30.480534.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.

  1. Включи режим MAX Power Mode

    Включение режима MAX Power Mode на Jetson гарантирует, что все ядра CPU и GPU будут задействованы.

    sudo nvpmodel -m 0
  2. Включи Jetson Clocks

    Включение Jetson Clocks гарантирует, что все ядра CPU и GPU будут работать на своей максимальной частоте.

    sudo jetson_clocks
  3. Установи приложение jetson stats

    Ты можешь использовать приложение jetson stats для мониторинга температуры компонентов системы и проверки других деталей системы, таких как использование CPU, GPU, RAM, изменения режимов питания, установки максимальных частот и проверки информации JetPack.

    sudo apt update
    sudo pip install jetson-stats
    sudo reboot
    jtop
Jetson Stats

Советы по оптимизации памяти для NVIDIA Jetson

Доступная память часто является ограничивающим фактором на устройствах Jetson, особенно на моделях с меньшим объемом памяти, таких как Jetson Orin Nano (8 ГБ) или Orin NX 8 ГБ. Приведенные ниже советы — это практические, низкорисковые изменения, которые в совокупности могут освободить несколько сотен мегабайт и позволить тебе запускать более крупные модели YOLO или поддерживать дополнительные параллельные задачи. Для подробного ознакомления смотри блог NVIDIA по оптимизации эффективности памяти на Jetson.

Переключись на загрузку в режиме Headless (без GUI)

Если твой Jetson подключен по SSH или работает как промышленное устройство без подключенного дисплея, удаление графической оболочки и сервера дисплея может вернуть до 865 МБ оперативной памяти:

sudo systemctl set-default multi-user.target
sudo reboot

Чтобы восстановить рабочий стол позже:

sudo systemctl set-default graphical.target
sudo reboot

Отключи неиспользуемые системные службы

Фоновые службы, не являющиеся критически важными (Bluetooth, менеджеры соединений, неиспользуемые аппаратные демоны), потребляют около 32 МБ в сумме. Перечисли активные службы и отключи все, что не требуется для твоей задачи:

# List running services
systemctl list-units --type=service --state=running

# Disable a service
sudo systemctl disable <service-name>

Профилируй использование памяти

Перед оптимизацией определи, какие процессы действительно потребляют RAM. procrank сортирует процессы по PSS (Proportional Set Size), что отражает реальный объем занимаемой процессом памяти точнее, чем RSS (Resident Set Size — общий объем физических страниц RAM, отображенных процессом, включая страницы, общие с другими процессами):

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/clients

Запускай инференс без дисплея в промышленной среде

Для конвейеров инференса, не требующих предпросмотра в реальном времени, отключение компонентов, связанных с дисплеем (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 МБ
Отключение неиспользуемых системных служб~32 МБ
Конвейер инференса в режиме Headless (без дисплея)~200+ МБ
Всего (легкие победы)~1 ГБ+

Объединение этих изменений особенно ценно при использовании моделей TensorRT INT8 на устройствах с ограниченной памятью — это может стать решающим фактором для размещения более крупного варианта модели в памяти.

Следующие шаги

Для дальнейшего обучения и поддержки ознакомься с документацией Ultralytics YOLO26.

Часто задаваемые вопросы (FAQ)

Как развернуть Ultralytics YOLO26 на устройствах NVIDIA Jetson?

Развертывание Ultralytics YOLO26 на устройствах NVIDIA Jetson — простой процесс. Сначала прошей свое устройство Jetson с помощью NVIDIA JetPack SDK. Затем либо используй готовый Docker-образ для быстрой настройки, либо установи необходимые пакеты вручную. Подробные шаги для каждого подхода можно найти в разделах Quick Start with Docker и Start with Native Installation.

На какие результаты производительности моделей YOLO11 можно рассчитывать на устройствах NVIDIA Jetson?

Модели YOLO11 прошли тестирование на различных устройствах NVIDIA Jetson, показав значительное улучшение производительности. Например, формат TensorRT обеспечивает наилучшую скорость инференса. Таблица в разделе Detailed Comparison Tables дает исчерпывающее представление о метриках производительности, таких как mAP50-95 и время инференса для различных форматов моделей.

Почему стоит использовать TensorRT для развертывания YOLO26 на NVIDIA Jetson?

TensorRT настоятельно рекомендуется для развертывания моделей YOLO26 на NVIDIA Jetson из-за оптимальной производительности. Он ускоряет инференс, задействуя возможности GPU Jetson, что обеспечивает максимальную эффективность и скорость. Узнай больше о том, как конвертировать в TensorRT и запускать инференс в разделе Use TensorRT on NVIDIA Jetson.

Как установить PyTorch и Torchvision на NVIDIA Jetson?

Чтобы установить PyTorch и Torchvision на NVIDIA Jetson, сначала удали любые существующие версии, которые могли быть установлены через pip. Затем вручную установи совместимые версии PyTorch и Torchvision для архитектуры ARM64 устройства Jetson. Подробные инструкции по этому процессу приведены в разделе Install PyTorch and Torchvision.

Каковы лучшие практики для максимизации производительности на NVIDIA Jetson при использовании YOLO26?

Чтобы максимизировать производительность на NVIDIA Jetson при использовании YOLO26, следуй этим рекомендациям:

  1. Включи режим MAX Power Mode, чтобы задействовать все ядра CPU и GPU.
  2. Включи Jetson Clocks, чтобы запустить все ядра на максимальной частоте.
  3. Установи приложение Jetson Stats для мониторинга системных метрик.

Для получения команд и дополнительных деталей обратись к разделу Best Practices when using NVIDIA Jetson.

Как освободить память на NVIDIA Jetson для запуска более крупных моделей YOLO?

Доступная RAM часто является узким местом на устройствах Jetson с небольшим объемом памяти. Три легких способа, которые в совокупности могут вернуть более 1 ГБ:

  1. Переключись на загрузку в режиме headless (sudo systemctl set-default multi-user.target), чтобы избавиться от графического интерфейса рабочего стола (~865 МБ сэкономлено).
  2. Отключи неиспользуемые службы, такие как Bluetooth или менеджеры соединений (~32 МБ сэкономлено).
  3. Запускай инференс без дисплея, установив show=False в своем вызове predict YOLO, что позволяет избежать выделения памяти для конвейера дисплея (~200+ МБ сэкономлено).

Используй procrank для профилирования использования RAM каждым процессом и sudo cat /sys/kernel/debug/nvmap/iovmm/clients для проверки распределения ресурсов GPU. Подробности см. в разделе Memory Optimization Tips.

Почему мой экспорт TensorRT INT8 отключает end2end на JetPack 6?

В TensorRT 10.3.0, поставляемом с JetPack 6, есть известная проблема, которая препятствует сборке движка INT8, когда включен end2end=True. Когда Ultralytics обнаруживает эту комбинацию, он автоматически отключает ветку end2end, чтобы гарантировать успешное завершение экспорта.

Чтобы восстановить экспорт INT8 с end2end, обнови 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 issue #23841.

Комментарии