Jetson Orin Nano TensorRTエラー完全解決【依存関係チェックリスト付き】

Jetson Orin Nano TensorRTエラー完全解決【依存関係チェックリスト付き】

検証環境

| 項目 | バージョン / 情報 |

|——|—————–|

| デバイス | Jetson Orin Nano Super 8GB Developer Kit |

| JetPack | 6.2 |

| Ubuntu | 22.04 LTS |

| TensorRT | 10.5.0 |

| CUDA | 12.6 |

| cuDNN | 9.5.0 |

| 検証日 | 2026年4月 |

TensorRTのエラーでJetsonの推論が止まって困っているなら、この記事がそのまま解決策になる。依存ライブラリの不整合・バージョンミスマッチ・インポートエラーまで、実機で遭遇したエラーを体系的にまとめた。

この記事でわかること

  • TensorRTで発生しやすいエラーの種類と原因
  • 依存関係を一括チェックするコマンド手順
  • ImportError / tensorrt.so 系エラーの具体的な解決手順
  • onnx → TensorRTエンジン変換失敗時の対処法
  • 再インストールせずに問題を解決するトラブルシューティングの流れ
  • よくあるTensorRTエラーの全体像

    Jetson Orin NanoでTensorRTを使おうとしたとき、エラーは大きく3つのカテゴリに分かれる。

    1. インポート時に落ちる(Pythonレベルの依存関係エラー)

    2. エンジンビルド時に落ちる(変換・最適化フェーズのエラー)

    3. 推論実行時に落ちる(ランタイムのメモリ・型エラー)

    順番に確認することで、無駄な再インストールを避けられる。まず現在の環境が正しく揃っているかをチェックするところから始める。

    Step 1: 依存関係チェックリスト

    以下のコマンドを順番に実行して、各コンポーネントのバージョンと整合性を確認する。

    CUDAの確認

    
    nvcc --version
    

    期待する出力(JetPack 6.2の場合):

    
    nvcc: NVIDIA (R) Cuda compiler driver
    Cuda compilation tools, release 12.6, V12.6.xx
    

    cuDNNの確認

    
    dpkg -l | grep cudnn
    
    
    ii  libcudnn9                  9.5.0.87-1+cuda12.6
    ii  libcudnn9-dev              9.5.0.87-1+cuda12.6
    

    dev パッケージが入っていない場合はヘッダーが欠落しているため、後述の手順で追加する。

    TensorRTのバージョン確認

    
    dpkg -l | grep tensorrt
    
    
    ii  tensorrt                   10.5.0.18-1+cuda12.6
    ii  libnvinfer10               10.5.0.18-1+cuda12.6
    ii  libnvinfer-dev             10.5.0.18-1+cuda12.6
    ii  libnvinfer-plugin10        10.5.0.18-1+cuda12.6
    ii  libnvonnxparsers10         10.5.0.18-1+cuda12.6
    

    PythonバインディングとCUDAパスの確認

    
    python3 -c "import tensorrt; print(tensorrt.__version__)"
    

    ここでエラーが出る場合は次のセクションへ進む。

    LD_LIBRARY_PATHの確認

    
    echo $LD_LIBRARY_PATH
    

    以下のパスが含まれていることを確認する。

    
    /usr/local/cuda/lib64:/usr/lib/aarch64-linux-gnu/tegra
    

    含まれていない場合は .bashrc に追記する。

    
    echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/lib/aarch64-linux-gnu/tegra:$LD_LIBRARY_PATH' >> ~/.bashrc
    source ~/.bashrc
    

    Step 2: ImportError / tensorrt.so 系エラーの解決

    典型的なエラーメッセージ

    
    ImportError: libnvinfer.so.10: cannot open shared object file: No such file or directory
    

    または

    
    ModuleNotFoundError: No module named 'tensorrt'
    

    原因

    Pythonバインディングがインストールされていないか、共有ライブラリのシンボリックリンクが壊れている。

    解決手順

    まず libnvinfer の実体がどこにあるか確認する。

    
    find /usr -name "libnvinfer.so*" 2>/dev/null
    

    ファイルが存在するのにエラーが出る場合は、ldconfig のキャッシュが古い。

    
    sudo ldconfig
    

    それでも解決しない場合はシンボリックリンクを手動で作成する。

    
    sudo ln -sf /usr/lib/aarch64-linux-gnu/libnvinfer.so.10 /usr/lib/aarch64-linux-gnu/libnvinfer.so
    

    次にPythonバインディングを確認・再インストールする。

    
    sudo apt-get install --reinstall python3-libnvinfer python3-libnvinfer-dev
    

    インストール後に再確認する。

    
    python3 -c "import tensorrt as trt; print(trt.__version__)"
    
    
    10.5.0
    

    Step 3: ONNXからTensorRTエンジン変換失敗の解決

    典型的なエラーメッセージ

    
    [TRT] [E] ModelImporter.cpp: Your ONNX model has been generated with opset X, which is not supported.
    

    または

    
    [TRT] [E] Network must have at least one output
    

    原因と対処法

    opsetバージョンの不一致が最も多い。TensorRT 10.5はONNX opset 21まで対応しているが、モデルのエクスポート時のopsetとのミスマッチが起きやすい。

    
    import onnx
    
    model = onnx.load("model.onnx")
    print(f"ONNX opset: {model.opset_import[0].version}")
    

    opsetが古い場合はONNX側でアップグレードする。

    
    pip3 install onnx==1.17.0
    python3 -c "
    import onnx
    from onnx import version_converter
    model = onnx.load('model.onnx')
    converted = version_converter.convert_version(model, 18)
    onnx.save(converted, 'model_opset18.onnx')
    "
    

    trtexecコマンドでのエンジンビルド確認

    Pythonを経由せずに変換できるかを trtexec で切り分けることが重要。

    
    /usr/src/tensorrt/bin/trtexec \
      --onnx=model_opset18.onnx \
      --saveEngine=model.engine \
      --fp16 \
      --verbose
    

    trtexec で成功してPythonで失敗する場合は、Pythonバインディング側の問題に絞り込める。

    Step 4: 推論実行時のCUDAメモリエラー解決

    典型的なエラーメッセージ

    
    [TRT] [E] CUDA error: out of memory
    RuntimeError: CUDA error: device-side assert triggered
    

    Jetson Orin Nanoのメモリ確認

    Jetson Orin Nano Superは8GBのユニファイドメモリ(CPUとGPUで共有)を持ち、Orin Nano比で最大1.7倍のAI性能を発揮する。OSやGUIが消費するメモリを確認する。

    
    free -h
    
    
                  total        used        free
    Mem:           7.4G        3.1G        4.3G
    

    GUIを無効化してメモリを確保する。

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

    再起動後に確認すると、使用メモリが1GB程度削減される。

    バッチサイズとワークスペースの調整

    エンジンビルド時にワークスペースサイズを明示的に制限する。

    
    import tensorrt as trt
    
    TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
    builder = trt.Builder(TRT_LOGGER)
    config = builder.create_builder_config()
    
    # ワークスペースを1GBに制限
    config.set_memory_pool_limit(trt.MemoryPoolType.WORKSPACE, 1 << 30)
    

    ---

    依存関係チェックリストのまとめ

    実機作業で毎回確認する項目を一覧にまとめる。

    
    # 1. CUDAバージョン確認
    nvcc --version
    
    # 2. cuDNN確認
    dpkg -l | grep cudnn
    
    # 3. TensorRTパッケージ確認
    dpkg -l | grep tensorrt
    
    # 4. Pythonバインディング確認
    python3 -c "import tensorrt as trt; print(trt.__version__)"
    
    # 5. ライブラリパス確認
    ldconfig -p | grep libnvinfer
    
    # 6. ONNXバージョン確認
    python3 -c "import onnx; print(onnx.__version__)"
    
    # 7. 利用可能メモリ確認
    free -h
    

    上から順に実行して、最初に問題が出た箇所を本文の対応セクションで解決する。このフローで実機検証時のエラーの9割は解消できる。

    ---

    まとめ

    TensorRTのエラーは、発生箇所をインポート・変換・推論の3段階で切り分けることが最初のステップになる。Jetson Orin Nano NVIDIA Jetson Orin Nano 開発者キット(Amazon) 上での実務では、再インストールよりも ldconfig やシンボリックリンクの修正で解決するケースが多い。

    特にJetPackのアップデート後やcondaなど別の仮想環境を混在させているときに依存関係の不整合が起きやすいため、定期的にチェックリストを走らせる習慣をつけておくと無駄なデバッグ時間を大幅に削れる。JetPack 6.2以降ではTensorRT 10.5のINT8量子化精度が向上し、Orin Nano SuperでYOLOv11推論が67 TOPSを達成する。

    NVMe SSD Western Digital SN770 500GB NVMe(Amazon) にシステムを移動している場合は、ライブラリのパスがSDカードとNVMeで混在していないかも確認ポイントになる。

    ---

    次はこちら

    TensorRTを使いこなしたら、実際のモデルで推論速度を体感してみよう。

  • Jetson Orin Nano TensorRT高速化チュートリアル
  • Jetson Orin NanoでYOLOv8をリアルタイム物体検出する方法
  • Jetson Orin Nano NVMe認識しないエラー解決
  • コメント

    タイトルとURLをコピーしました