Ultralytics YOLO27:

クイックスタートガイド:Ultralytics YOLO26を搭載したNVIDIA Jetson#

この包括的なガイドでは、NVIDIA JetsonデバイスにUltralytics YOLO26をデプロイする手順を詳しく説明します。さらに、これらの小型で高性能なデバイス上でのYOLO26の性能を示すベンチマークも紹介します。

新製品への対応

このガイドを更新し、最大2070 FP4 TFLOPSのAIコンピューティング性能と128 GBのメモリを提供し、消費電力を40 Wから130 Wの範囲で設定できる最新のNVIDIA Jetson AGX Thor Developer Kitを追加しました。NVIDIA Jetson AGX Orinと比較してAIコンピューティング性能が7.5倍以上高く、エネルギー効率も3.5倍優れているため、最も広く利用されているAIモデルをスムーズに実行できます。



Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices
NVIDIA Jetson Ecosystem
注記

このガイドは、最新の安定版であるJetPack 7.2を実行するNVIDIA Jetson AGX Thor Developer Kit (Jetson T5000)およびNVIDIA Jetson AGX Orin Developer Kit (64GB)JP6.1のJetPackリリースを実行するNVIDIA Jetson Orin Nano Super Developer Kit、NVIDIA Jetson Orin NX 16GBをベースとし、JP6.0およびJP5.1.3のJetPackリリースを実行するSeeed Studio reComputer J4012、NVIDIA Jetson Nano 4GBをベースとし、JP4.6.1のJetPackリリースを実行するSeeed Studio reComputer J1020 v2でテストされています。最新および従来のデバイスを含む、すべてのNVIDIA Jetsonハードウェア製品で動作することが想定されています。

NVIDIA Jetsonとは何ですか?#

NVIDIA Jetsonは、エッジデバイスに高速なAI(人工知能)コンピューティングを提供するために設計された組み込みコンピューティングボードのシリーズです。これらの小型で高性能なデバイスはNVIDIAのGPUアーキテクチャを基盤としており、クラウドコンピューティングのリソースに依存せず、デバイス上で複雑なAIアルゴリズムやディープラーニングモデルを直接実行できます。Jetsonボードは、AI推論を低レイテンシーかつ高効率でローカルに実行する必要があるロボティクス、自動運転車、産業オートメーションなどの用途でよく使用されます。また、これらのボードはARM64アーキテクチャを基盤としており、従来のGPUコンピューティングデバイスと比較して低消費電力で動作します。

NVIDIA Jetsonシリーズの比較#

NVIDIA Jetson AGX Thorは、NVIDIA Blackwellアーキテクチャを基盤とするNVIDIA Jetsonファミリーの最新モデルで、前世代と比較してAI性能が大幅に向上しています。以下の表では、エコシステム内の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
GPU96基のTensor Coreを搭載した2560コアNVIDIA BlackwellアーキテクチャGPU64基のTensor Coreを搭載した2048コアNVIDIA AmpereアーキテクチャGPU32基のTensor Coreを搭載した1024コアNVIDIA AmpereアーキテクチャGPU32基のTensor Coreを搭載した1024コアNVIDIA AmpereアーキテクチャGPU64基のTensor Coreを搭載した512コアNVIDIA VoltaアーキテクチャGPU48基のTensor Coreを搭載した384コアNVIDIA Volta™アーキテクチャGPU128コアNVIDIA Maxwell™アーキテクチャGPU
GPU最大周波数1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPU14コアArm® Neoverse®-V3AE 64ビットCPU、1MB L2 + 16MB L312コアNVIDIA Arm® Cortex A78AE v8.2 64ビットCPU、3MB L2 + 6MB L38コアNVIDIA Arm® Cortex A78AE v8.2 64ビットCPU、2MB L2 + 4MB L36コアArm® Cortex®-A78AE v8.2 64ビットCPU、1.5MB L2 + 4MB L38コアNVIDIA Carmel Arm®v8.2 64ビットCPU、8MB L2 + 4MB L36コアNVIDIA Carmel Arm®v8.2 64ビットCPU、6MB L2 + 4MB L3クアッドコアArm® Cortex®-A57 MPCoreプロセッサ
CPU最大周波数2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
メモリ128GB 256ビットLPDDR5X 273GB/s64GB 256ビットLPDDR5 204.8GB/s16GB 128ビットLPDDR5 102.4GB/s8GB 128ビットLPDDR5 102 GB/s32GB 256ビットLPDDR4x 136.5GB/s8GB 128ビットLPDDR4x 59.7GB/s4GB 64ビットLPDDR4 25.6GB/s

より詳細な比較表については、NVIDIA Jetson公式ページ仕様を比較セクションをご覧ください。

NVIDIA JetPackとは何ですか?#

Jetsonモジュールを動かすNVIDIA JetPack SDKは、エンドツーエンドの高速AIアプリケーションを構築するための包括的なソリューションであり、開発環境を完全に提供して市場投入までの期間を短縮します。JetPackには、ブートローダー、Linuxカーネル、Ubuntuデスクトップ環境を備えたJetson Linuxと、GPUコンピューティング、マルチメディア、グラフィックス、コンピュータービジョンを高速化するためのライブラリ一式が含まれています。また、ホストコンピューターと開発キット向けのサンプル、ドキュメント、開発者ツールも含まれており、ストリーミング動画分析向けのDeepStream、ロボティクス向けのIsaac、会話型AI向けのRivaなど、より高レベルのSDKにも対応しています。

NVIDIA JetsonにJetPackを書き込む#

NVIDIA Jetsonデバイスを入手した後の最初のステップは、デバイスにNVIDIA JetPackを書き込むことです。NVIDIA Jetsonデバイスを書き込む方法はいくつかあります。

  1. 公式のJetson AGX Thor、AGX Orin、またはOrin Nano Developer KitでJetPack 7.2を使用する場合は、統合Jetson ISOをダウンロードしてUSBフラッシュドライブに書き込み、AGX ThorAGX Orin、またはOrin Nanoのデバイス固有のクイックスタートに従ってください。JetPack 7.2以降、Orin Nanoではダウンロード可能なSDカードイメージを使用しません。ISOを使用したUSBインストールにより、デバイスのmicroSDカードまたはNVMe SSDにJetson Linuxがインストールされます。
  2. Jetson Orin Nano Developer Kitで意図的にJetPack 6を使用する場合は、NVIDIAのJetPack 6.xの更新およびSDカード手順に従ってください。
  3. その他のNVIDIA Development Kitをお持ちの場合は、SDK Managerを使用してデバイスにJetPackを書き込むことができます。
  4. Seeed Studio reComputer J4012デバイスをお持ちの場合は、付属のSSDにJetPackを書き込むことができます。Seeed Studio reComputer J1020 v2デバイスをお持ちの場合は、eMMC/ SSDにJetPackを書き込むことができます。
  5. NVIDIA Jetsonモジュールを搭載したその他のサードパーティ製デバイスをお持ちの場合は、コマンドラインによる書き込みに従うことを推奨します。
注記

上記の方法1、4、5では、システムを書き込んでデバイスを起動した後、必要なJetPackの残りのコンポーネントをすべてインストールするため、デバイスのターミナルで「sudo apt update && sudo apt install nvidia-jetpack -y」を実行してください。

Jetsonデバイス別のJetPack対応状況#

以下の表は、各NVIDIA JetsonデバイスでサポートされているNVIDIA JetPackのバージョンを示しています。

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でのクイックスタート#

NVIDIA JetsonでUltralytics YOLO26を始める最も速い方法は、Jetson向けのビルド済みDockerイメージを使用して実行することです。上の表を参照し、お持ちのJetsonデバイスに応じてJetPackのバージョンを選択してください。

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
JetPack 7 Docker および TensorRT のサポート

latest-nvidia-arm64 イメージは、CUDA 13.4 および TensorRT 11.2 を含む NVIDIA PyTorch 26.08 を使用します。NVIDIA は互換性テーブルで PyTorch 向けの JetPack 7.1 をリストしていますが、TensorRT 11.2.1 は Thor を含む JetPack をサポートしていません。このイメージは、サポートされているホスト上の PyTorch ワークロードでのみ使用してください。Jetson の TensorRT エクスポートについては、JetPack リリースでサポートされている TensorRT 10.x ランタイムを使用して以下のネイティブインストールを実行してください。Thor または Orin上の JetPack 7.2 には、個別のコンテナ検証が必要です。ターゲット GPU および TensorRT バージョンに合わせてエンジンを再ビルドしてください。

JetPack 4、5、6 のイメージについては、NVIDIA Jetson での TensorRT の使用を引き続き参照してください。上記の JetPack 7.1 イメージは PyTorch ワークロード専用です。

ネイティブインストールを開始する#

Dockerを使用せずにネイティブインストールする場合は、以下の手順を参照してください。

JetPack 7.2で実行する#

Ultralyticsパッケージをインストールする#

ここではJetsonにUltralyticsパッケージをインストールします。エクスポート時の依存関係は、モデルを初めてエクスポートするときに自動的にインストールされるため、ここではベースパッケージのみ必要です。Jetsonデバイスから最大限の性能を引き出せるよう、主にNVIDIA TensorRTエクスポートに焦点を当てます。

  1. パッケージリストを更新し、pipをインストールして最新バージョンにアップグレードする

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. ultralytics pipパッケージをインストールする

    pip install ultralytics
  3. デバイスを再起動する

    sudo reboot

PyTorchとTorchvisionをインストールする#

上記のUltralyticsのインストールにより、TorchとTorchvisionがインストールされます。ただし、pipでインストールされたこれら2つのパッケージは、CUDA 13を搭載したJetPack 7.2デバイスで実行するには互換性がありません。そのため、手動でインストールする必要があります。

JP7.2に対応するtorchtorchvisionをインストールする

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

onnxruntime-gpuをインストールする#

JetPack、Python、および CUDA のバージョンに一致する ONNX Runtime GPU ホイールを使用してください。現在の PyPI リリースには ARM64 ホイールが含まれていますが、すべての JetPack リリース向けの高精度なデバイス固有パッケージの代わりにはなりません。

ここでは、Python3.12をサポートするonnxruntime-gpu 1.24.0をダウンロードしてインストールします。

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パッケージをインストールする#

ここではJetsonにUltralyticsパッケージをインストールします。エクスポート時の依存関係は、モデルを初めてエクスポートするときに自動的にインストールされるため、ここではベースパッケージのみ必要です。Jetsonデバイスから最大限の性能を引き出せるよう、主にNVIDIA TensorRTエクスポートに焦点を当てます。

  1. パッケージリストを更新し、pipをインストールして最新バージョンにアップグレードする

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. ultralytics pipパッケージをインストールする

    pip install ultralytics
  3. デバイスを再起動する

    sudo reboot

PyTorchとTorchvisionをインストールする#

上記のUltralyticsのインストールにより、TorchとTorchvisionがインストールされます。ただし、pipでインストールされたこれら2つのパッケージは、ARM64アーキテクチャを基盤とするJetsonプラットフォームと互換性がありません。そのため、ビルド済みのPyTorch pipホイールを手動でインストールし、Torchvisionをソースからコンパイルまたはインストールする必要があります。

JP6.1に対応するtorch 2.10.0torchvision 0.25.0をインストールする

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
注記

Jetson向けPyTorchページで、各JetPackバージョン向けのさまざまなPyTorchバージョンを確認できます。PyTorchとTorchvisionの互換性について詳しくは、PyTorchとTorchvisionの互換性ページをご覧ください。

torch 2.10.0との依存関係の問題を解決するために、cuDSSをインストールする

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をインストールする#

JetPack、Python、および CUDA のバージョンに一致する ONNX Runtime GPU ホイールを使用してください。現在の PyPI リリースには ARM64 ホイールが含まれていますが、すべての JetPack リリース向けの高精度なデバイス固有パッケージの代わりにはなりません。

利用可能なすべてのonnxruntime-gpuパッケージは、JetPackバージョン、Pythonバージョン、その他の互換性情報別に整理され、Jetson Zoo ONNX Runtime互換性マトリックスで確認できます。

Python 3.10をサポートするJetPack 6では、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パッケージをインストールする#

ここではJetsonにUltralyticsパッケージをインストールします。エクスポート時の依存関係は、モデルを初めてエクスポートするときに自動的にインストールされるため、ここではベースパッケージのみ必要です。Jetsonデバイスから最大限の性能を引き出せるよう、主にNVIDIA TensorRTエクスポートに焦点を当てます。

  1. パッケージリストを更新し、pipをインストールして最新バージョンにアップグレードする

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. ultralytics pipパッケージをインストールする

    pip install ultralytics
  3. デバイスを再起動する

    sudo reboot

PyTorchとTorchvisionをインストールする#

上記のUltralyticsのインストールにより、TorchとTorchvisionがインストールされます。ただし、pipでインストールされたこれら2つのパッケージは、ARM64アーキテクチャを基盤とするJetsonプラットフォームと互換性がありません。そのため、ビルド済みのPyTorch pipホイールを手動でインストールし、Torchvisionをソースからコンパイルまたはインストールする必要があります。

  1. 現在インストールされているPyTorchとTorchvisionをアンインストールする

    pip uninstall torch torchvision
  2. JP5.1.2に対応するtorch 2.1.0torchvision 0.16.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
注記

Jetson向けPyTorchページで、各JetPackバージョン向けのさまざまなPyTorchバージョンを確認できます。PyTorchとTorchvisionの互換性について詳しくは、PyTorchとTorchvisionの互換性ページをご覧ください。

onnxruntime-gpuをインストールする#

JetPack、Python、および CUDA のバージョンに一致する ONNX Runtime GPU ホイールを使用してください。現在の PyPI リリースには ARM64 ホイールが含まれていますが、すべての JetPack リリース向けの高精度なデバイス固有パッケージの代わりにはなりません。

利用可能なすべてのonnxruntime-gpuパッケージは、JetPackバージョン、Pythonバージョン、その他の互換性情報別に整理され、Jetson Zoo ONNX Runtime互換性マトリックスで確認できます。ここでは、Python3.8をサポートするonnxruntime-gpu 1.17.0をダウンロードしてインストールします。

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

NVIDIA JetsonでTensorRTを使用する#

Ultralytics がサポートするすべてのモデルのエクスポート形式の中で、TensorRT は NVIDIA Jetson デバイス上で最も高い推論パフォーマンスを提供し、Jetson 展開において最も推奨される形式となっています。エクスポートする前に、JetPack リリース用に提供されている TensorRT Python バインディングをインストールし、python3 -c "import tensorrt; print(tensorrt.__version__)" で確認してください。JetPack 6/7 ではサポートされている TensorRT 10.x ランタイムを維持し、TensorRT 11.2.1 に置き換えなでください。セットアップの手順と高度な使用方法については、専用の TensorRT 統合ガイドを参照してください。

ビルド環境をローカルで構成せずに、ブラウザーからエクスポートすることもできます。Ultralytics PlatformのモデルエクスポートタブでTensorRTと対象のJetsonターゲットを選択してください。Thorの選択肢は、実機のThorハードウェアで検証されています。現在、6つのOrinの選択肢ではAGX-Orinでビルドされた候補エンジンが生成されるため、デプロイ前に対象のOrin SKUで検証してください。

TensorRTエンジンはデバイス固有です

TensorRTはビルドに使用したGPU上でエンジンのプロファイル作成とチューニングを行います。対象のGPUアーキテクチャとTensorRT/CUDAランタイムを一致させ、ダウンロードしたすべてのエンジンをデプロイ先のデバイスで検証してください。同じアーキテクチャのOrin SKUであっても、移植性が自動的に保証されるわけではありません。また、最良の結果を得るには、INT8のキャリブレーションに対象デバイスを使用してください。

モデルをTensorRTに変換して推論を実行する#

PyTorch形式のYOLO26nモデルを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")
注記

モデルを異なる形式にエクスポートする際に追加の引数を利用するには、Exportページをご覧ください。

NVIDIA Deep Learning Accelerator(DLA)を使用する#

NVIDIA Deep Learning Accelerator(DLA)は、NVIDIA Jetsonデバイスに組み込まれた専用ハードウェアコンポーネントで、エネルギー効率とパフォーマンスを高めるためにディープラーニング推論を最適化します。GPUからタスクをオフロードして、より負荷の高い処理にGPUを利用できるようにすることで、DLAは高いスループットを維持しながら、より低い消費電力でモデルを実行できます。これは、組み込みシステムやリアルタイムAIアプリケーションに最適です。

TensorRT と DLA の互換性

NVIDIA は、TensorRT 10.7 をDLA サポートを持つ最後のリリースとしてリストしています。TensorRT 11.0、11.1、および 11.2 は DLA をサポートしていません。JetPack バージョンでサポートされている、DLA 対応の TensorRT リリースを使用してください。TensorRT 11.2.1 は、GPU のみのおよびエクスポートを含め、JetPack をサポートしていません。

以下のJetsonデバイスにはDLAハードウェアが搭載されています。

JetsonデバイスDLAコア数DLA最大周波数
Jetson AGX Orinシリーズ21.6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Jetson AGX Xavierシリーズ21.4 GHz
Jetson Xavier NXシリーズ21.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は、GPUのみで実行するTensorRTと比較して推論レイテンシを削減することを主な目的として設計されていません。主な目的は、スループットを向上させ、エネルギー効率を改善することです。

NVIDIA Jetson YOLO26 ベンチマーク#

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、およびJetson Orin NX 16GBデバイスを搭載したSeeed Studio reComputer J4012において、FP32精度、デフォルトの入力画像サイズ640で実行されました。

比較チャート#

すべてのモデルエクスポートはNVIDIA Jetsonで動作しますが、以下の比較チャートにはPyTorch、TorchScript、TensorRTのみを掲載しています。これらはJetsonのGPUを使用し、最高の結果を確実に得られるためです。その他のエクスポートはCPUのみを使用するため、上記3つほど高いパフォーマンスは得られません。すべてのエクスポートのベンチマークは、このチャートの後のセクションで確認できます。

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

詳細な比較表#

以下の表は、5つの異なるモデル(YOLO26n、YOLO26s、YOLO26m、YOLO26l、YOLO26x)における11種類のフォーマット(PyTorch、TorchScript、ONNX、OpenVINO、TensorRT、TF SavedModel、TF GraphDef、TF Lite、MNN、NCNN、ExecuTorch)のベンチマーク結果を示しており、それぞれの組み合わせにおけるステータス、サイズ、mAP50-95(B)メトリック、推論時間が示されています。

NVIDIA Jetson AGX Thor Developer Kit#

性能
形式ステータスディスク上のサイズ(MB)mAP50-95(B)推論時間(ms/画像)
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)#

性能
形式ステータスディスク上のサイズ(MB)mAP50-95(B)推論時間(ms/画像)
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#

性能
形式ステータスディスク上のサイズ(MB)mAP50-95(B)推論時間(ms/画像)
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#

性能
形式ステータスディスク上のサイズ(MB)mAP50-95(B)推論時間(ms/画像)
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でベンチマークを実施

注記

推論時間には前処理と後処理は含まれません。

異なるバージョンのNVIDIA Jetsonハードウェアで実行したSeeed Studioのさらなるベンチマーク結果を確認

結果を再現する#

上記のUltralyticsベンチマークをすべてのエクスポート形式で再現するには、次のコードを実行します:

from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n 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を実行する際にパフォーマンスを最大化するには、いくつかのベストプラクティスに従ってください。

  1. MAX Power Modeを有効にする

    JetsonでMAX Power Modeを有効にすると、すべての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 GB)やOrin NX 8 GBのような低メモリのモデルで、使用可能なメモリが制限要因になることがよくあります。以下のヒントは、全体として数百MBを解放し、より大きなYOLOモデルを実行したり、追加の並列ワークロードをサポートしたりできる、実用的でリスクの低い変更です。包括的な説明については、Jetsonでメモリ効率を最大化するNVIDIAのブログ記事をご覧ください。

1. ヘッドレス(GUIなし)ブートに切り替える#

JetsonにSSHで接続している場合や、ディスプレイを接続せずに本番アプライアンスとして実行している場合は、デスクトップ環境とディスプレイサーバーを削除することで、最大865 MBのRAMを回収できます。

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

後でデスクトップを復元するには:

sudo systemctl set-default graphical.target
sudo reboot

2. 使用していないシステムサービスを無効にする#

不要なバックグラウンドサービス(Bluetooth、接続マネージャー、未使用のハードウェアデーモン)は、合計で約32 MBを消費します。アクティブなサービスを一覧表示し、デプロイに必要のないものを無効にしてください。

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

# Disable a service
sudo systemctl disable SERVICE_NAME

3. メモリ使用量をプロファイリングする#

最適化する前に、実際にRAMを消費しているプロセスを特定します。procrankはプロセスをPSS(Proportional Set Size)で並べ替えます。PSSは、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

4. 本番環境でディスプレイなしに推論を実行する#

ライブプレビューが不要な推論パイプラインでは、ディスプレイ関連コンポーネント(Tiler、OSD、DisplaySink)を無効にするだけで、パイプラインだけで200 MB以上を節約できます。Ultralytics YOLOでは、ビューアーを抑制し、代わりに結果をディスクへ書き込みます。

from ultralytics import YOLO

model = YOLO("yolo26n.engine")

# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)

累積効果#

最適化おおよその節約メモリ
デスクトップGUIを無効化~865 MB
未使用のOSサービスを無効化~32 MB
ヘッドレス推論パイプライン(ディスプレイなし)~200+ MB
合計(簡単に実施できる対策)~1 GB以上

これらの変更を組み合わせることは、メモリに制約のあるデバイスでTensorRT INT8モデルを対象とする場合に特に有効です。より大きなモデルバリアントをメモリに収められるかどうかを左右する可能性があります。

次のステップ#

さらに学習やサポートが必要な場合は、Ultralytics YOLO26 Docsをご覧ください。

FAQ#

  • NVIDIA JetsonデバイスへのUltralytics YOLO26のデプロイは簡単です。まず、NVIDIA JetPack SDKでJetsonデバイスをフラッシュします。次に、すぐにセットアップできるビルド済みDockerイメージを使用するか、必要なパッケージを手動でインストールします。それぞれの方法の詳細な手順は、Dockerでクイックスタートネイティブインストールから始めるの各セクションに記載されています。

  • YOLO26モデルは、さまざまなNVIDIA Jetsonデバイスでベンチマークが実施され、大幅なパフォーマンス向上が確認されています。たとえば、TensorRTフォーマットは最高の推論パフォーマンスを発揮します。Detailed Comparison Tablesセクションの表には、さまざまなモデルフォーマットにおけるmAP50-95や推論時間などのパフォーマンス指標に関する包括的な一覧が記載されています。

  • NVIDIA JetsonでのYOLO26モデルのデプロイには、最適なパフォーマンスを実現できるTensorRTが強く推奨されます。JetsonのGPU性能を活用して推論を高速化し、効率と速度を最大化します。TensorRTへの変換と推論の実行方法については、NVIDIA JetsonでTensorRTを使用するセクションをご覧ください。

  • NVIDIA JetsonにPyTorchとTorchvisionをインストールするには、まずpipでインストールされている可能性のある既存のバージョンをアンインストールします。次に、JetsonのARM64アーキテクチャに対応するPyTorchとTorchvisionのバージョンを手動でインストールします。この手順の詳細については、PyTorchとTorchvisionのインストールセクションをご覧ください。

  • NVIDIA JetsonでYOLO26のパフォーマンスを最大化するには、次のベストプラクティスに従ってください。

    1. MAX Power Modeを有効にして、すべてのCPUコアとGPUコアを使用します。
    2. Jetson Clocksを有効にして、すべてのコアを最大周波数で動作させます。
    3. Jetson Statsアプリケーションをインストールして、システムメトリックを監視します。

    コマンドと追加の詳細については、NVIDIA Jetson使用時のベストプラクティスセクションをご覧ください。

  • 使用可能なRAMは、低メモリのJetsonデバイスでボトルネックになることがよくあります。次の3つの簡単な対策を組み合わせることで、1 GB以上を回収できます。

    1. ヘッドレスブートに切り替えるsudo systemctl set-default multi-user.target)ことで、デスクトップGUIを削除します(約865 MBを節約)。
    2. 未使用のサービスを無効にすることで、Bluetoothや接続マネージャーなどを停止します(約32 MBを節約)。
    3. YOLOのpredict呼び出しでshow=Falseを設定してディスプレイなしで推論を実行すると、ディスプレイパイプラインのメモリ割り当てを回避できます(約200 MB以上を節約)。

    procrankを使用してプロセスごとのRAM使用量をプロファイリングし、sudo cat /sys/kernel/debug/nvmap/iovmm/clientsを使用してGPU割り当てを確認します。詳細については、メモリ最適化のヒントセクションをご覧ください。

  • JetPack 6 に同梱されている TensorRT 10.3.0 には、nms=False が有効な場合に INT8 エンジンのビルドが失敗する既知の問題があります。Ultralytics がこの組み合わせを検出すると、エクスポートが確実に成功するように一対多ヘッドが自動的に選択されます。

    NMS なしの 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 issue #23841をご覧ください。

コメント