ファイルを知る、使いこなす。
.engine

TensorRT Engine

AI・機械学習

ENGINEはTensorRTの最適化済み推論エンジンに使われることがありますが、拡張子だけでは形式を確定できません。TensorRTの場合も、作成版、GPU、互換モード、入力条件、プラグイン等で利用できる環境が変わるため、配布元のビルド条件を確認します。

主な用途
最適化された推論エンジンの保存等
中身の種類
作成元により異なる
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

まず用途と配布セットを確認

用途とTensorRTのビルド条件を確認します。

  1. 配布元の説明と利用条件を読み、作成ソフト・版・用途を記録します。
  2. TensorRT成果物なら、元ONNXとビルド時のGPU・版・精度設定を確認します。
  3. 原本を保管し、必要な設定・関連ファイルをコピーの作業フォルダーに揃えます。
対応環境で構造を確認

読み込み成功と推論成功は分けて確認します。

  1. 自分で生成したものか信頼できる経路の成果物だけを対象にします。
  2. TensorRTの版・GPU・OSと互換オプションの有無をビルド記録で照合します。
  3. 指定ランタイムまたはtrtexecでロードのログと必要プラグインを確認します。
既知の入力で動作を確認

入力仕様を合わせ、元の結果と照合します。

  1. 対応する入力profile内の形状・型で、既知のテスト入力を渡します。
  2. 元のONNX等と出力を比較し、精度設定による誤差を確認します。
  3. 対象GPUの速度とメモリを確認し、別機器へ移す場合は必要に応じ再ビルドします。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • デシリアライズできない:版とビルド時の互換条件を確認します。
  • GPUが違う:通常の対象と有効にした互換モードの条件を確認します。
  • 入力が合わない:入出力の型・形状や最適化プロファイルを作成元と照合します。
  • 別GPUでdeserialize失敗:GPU互換モードの有無とビルド条件を確認します。
  • 入力サイズで失敗:ビルド時の最小・最適・最大shapeと利用するprofileを確認します。
  • プラグインが見つからない:ビルドと実行で同じ対応ライブラリが必要か照合します。

ENGINE → 元モデルから対象環境用に再ビルド

  1. 元のONNX等とビルド設定、必要なプラグインを確認します。
  2. 対象環境で対応するエンジンを作り、予測結果と性能を照合します。
  3. 書き出し前後で同じ入力を使い、出力の形状・値・処理時間を比較します。モデル定義と変換条件も保存します。

エンジンから元のONNXを常に復元できるわけではありません。PLANへの改名も内部の互換条件を変えません。

GPU向け成果物の互換性

エンジンは作成時の条件に依存します。版互換やハードウェア互換のオプションを使っていても、対応条件の照合が必要です。

エンジンの復元は実行成果物の読み込みです。未知の配布物を情報確認のためだけにdeserializeしないようにします。

この手順の根拠:NVIDIA · Engine Compatibility / NVIDIA · Build your first engine / NVIDIA · TensorRT C++ API documentation

入力profileと精度を記録する

動的入力では最小・最適・最大shape等のprofileが実行条件になります。任意の大きさを渡せるとは限りません。

FP16やINT8等の設定変更後は同じテストデータで精度と性能を比較します。変更前のモデル、ビルドログ、参照出力を保管します。

この手順の根拠:NVIDIA · Engine Compatibility / NVIDIA · Build your first engine / NVIDIA · TensorRT C++ API documentation

関連形式との違い

関連形式との違い
形式主な役割確認する点
ENGINE / PLANTensorRT実行成果物ビルド条件を照合
ONNX推論グラフ交換再ビルドの入力になる場合
PT / KERAS元フレームワークの保存元定義と前処理も必要

取り扱いと安全性

TensorRTエンジンには実行されるコードやプラグインへの依存が含まれ得ます。信頼できないエンジンはデシリアライズ・実行しません。未知のプランを動かすためにホストコード等の許可を有効にしないでください。

よくある質問

どのGPUでも動く?

ビルド時の対象と互換モードの条件に依存します。

ENGINEは必ずTensorRT?

配布元と内容の種類を確認します。

ONNXに戻せる?

汎用の逆変換を期待せず元モデルを確認します。

拡張子が違うENGINEとPLANは変換が必要?

TensorRTではシリアライズ成果物の名前として使われます。内容と作成工程を確認し、拡張子だけで別形式と決めません。

互換オプションがあれば全環境で使える?

対応範囲と条件があります。OS・版・GPU・プラグインを公式資料とビルド記録で確認します。

形式の基本情報:正式名称・MIME type・管理団体
名称
TensorRTシリアライズ済みエンジン(代表的な用途)
管理・仕様
NVIDIA TensorRT / producer-specific uses
MIME type
作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。

公式・一次情報

  • 公式資料Engine Compatibility

    TensorRT版・GPUの互換条件と信頼できるエンジンの扱いです。

    NVIDIA · リンク確認:
  • 公式資料Build your first engine

    ONNXからエンジンを作成して実行確認する手順です。

    NVIDIA · リンク確認:
  • 公式資料TensorRT C++ API documentation

    信頼できるエンジンだけを復元する条件を説明しています。

    NVIDIA · リンク確認: