最初のモデルを実行する
| 項目 | 値 |
|---|---|
| カテゴリ | モデルと推論 |
| 難易度 | 初級 |
| 推定所要時間 | <5 minutes |
| ラベル | model, inference, foundations |
これは最初の章です。目標は、可能な限り最小限の完全な推論です。コンパイルされたモデルを取得し、1つの画像を入力として与え、予測されたクラスのインデックスを出力します。グラフも、スレッドも、ストリーミングもありません。すべての Neat プログラムが構築されている3つの呼び出しだけです。
コンパイルされたモデル は、デプロイ可能な .tar.gz アーカイブであり、MPK推論コントラクトが含まれています。これには、モデルのアーティファクトと、ターゲットデバイスで実行するために Neat が必要とするランタイムメタデータが含まれます。アーカイブを解凍したり、ステージを自分で接続したりする必要はありません。Neat にアーカイブを指し示し、入力を与え、出力を読み取ります。最終的には、3 行で推論を実行し、top1= クラスのインデックスを出力できます。
ウォークスルー
モデルをロードする
最初の行は、ディスク上のパスを、実行可能な Model に変換します。コンストラクションは、アーカイブをロードし、実行に備えて準備します。
build_options(size) を2番目の引数として渡して、このモデルが期待する入力コントラクト(RGBカラー、224×224、およびResNet-50がトレーニングされたImageNet正規化)を宣言します。ここで宣言することで、ランタイムは、生の画像をモデルが要求するテンソルに変換する方法を認識します。
simaai::neat::Model model(model_path, build_options(size));
入力を準備する
次に、分類する正確に1つの画像を生成します。--image を渡すと、画像が読み込まれ、224×224 にリサイズされ、入力コントラクトに一致するようにRGBに変換されます。それ以外の場合は、単色のグレーフレームを合成して、完全なロード→実行→読み取りパスが、手元にアセットがなくても、最初から最後まで実行されるようにします。