モデルと推論
モデルの実行、前処理と後処理の設定、テンソル交換、推論測定を学びます。 これらのチュートリアルを順番に進めてください。
コンパイル済みの ResNet-50 アーカイブをロードし、画像を入力として与え、上位1位のクラスを読み出します。これは、「モデルアーカイブがあります」から「予測値が得られました」までの最短のパスです。
あるスレッドからモデルにデータを供給し、別のスレッドから予測結果を取得することで、入力と出力を分離し、実際の処理能力を向上させます。第001章と同じResNetのパスを使用しますが、今回は非同期処理を行います。
コンパイルされたモデルに、決定的な合成テンソルを入力として与え、`Model::benchmark()`によって返される、レイテンシ、スループット、電力、エネルギーの主要な数値を表示します。
`ModelOptions` は、入力データ、モデルのパイプラインの各段階、およびその出力デコードとの間の関係を定義する構造体です。デフォルトの動作から変更したい場合に最初に参照する場所となります。
前処理の段階(形式、サイズ、およびチャンネルごとの正規化など)を設定し、生の画像入力が、モデルの学習に使用されたテンソルと正確に一致するようにします。 正確な前処理は、モデルが正常に動作するか、そうでないかの違いを生むことがよくあります。
`SimaBoxDecode` を使用して、生のモデル出力を、使用可能なバウンディングボックスにデコードします。これには、閾値処理、NMS(Non-Maximum Suppression)、および座標マッピングが含まれており、これらはすべて1つの後処...
Neatのテンソルと、既存のデータ構造(NumPy配列、PyTorchテンソル、または`cv::Mat`)の間でデータを移動させ、レイアウト、データ型、およびコピーのセマンティクスを制御することで、既存の推論スタックにNeatを組み込むことができます。
複数の名前付きテンソルを1つの`Sample`にまとめて、単一の推論イベントとして送信します。これは、ステレオ画像、画像+メタデータ、センサーフュージョンなど、複数の入力を受け取るモデルのパターンです。
`run.pull()` または `model.run()` から安全にデータを読み込みます。各実行結果は `Sample` を返します。これは、テンソルであるか、名前付きフィールドの集合であるか、またはその両方である可能性のある、小さな合計型です。...