iinferの概要

  • onnx又はmmlabフォーマットのAIモデルファイルを実行するアプリケーションです。

  • iinferを使用することで、AIモデルを簡単に実行することが出来ます。

  • 動作確認したモデルは 動作確認済みモデル に記載しています。

  • 主なAIタスクは、画像分類、物体検知、領域検知、顔検知、顔認識です。

  • 複数の iinfer コマンドの入出力をつなげる、パイプライン処理を行うことが出来ます。

  • GUIモードを使用することで、 iinfer コマンド操作を簡単に行うことが出来ます。

iinferの動作イメージ

'iinferの概要'
  1. iinfer client は imageファイル や camera から画像を取得し、 推論結果 predict.json を出力します。

  2. iinfer server は推論を行うサーバーです。 iinfer client からの要求に応えて、推論結果を iinfer client に返します。

  3. iinfer server は予め ai model をロードしておくことで、推論を高速化します。

  4. iinfer client と iinfer server は Redis 経由で通信します。

  5. iinfer server と Redis は dockerコンテナ を使用して起動させることが出来ます。

インストール方法

インストール方法は インストール を参照してください。

iinferの使用方法

iinferを使用するには、次のコマンドを実行します:

  1. guiモードで利用する場合:

iinfer -m gui -c start
  1. コマンドモードで利用する場合

  1. AIモデルのデプロイ:

# 画像AIモデルのデプロイ
# 推論タイプはモデルのAIタスクやアルゴリズムに合わせて指定する。指定可能なキーワードは"iinfer -m client -c predict_type_list"コマンド参照。
iinfer -m client -c deploy -n <任意のモデル名> -f \
                            --model_file <モデルファイル> \
                            --model_conf_file <モデル設定ファイル> \
                            --predict_type <推論タイプ> \
                            --label_file <ラベルファイル>

# デプロイされている画像AIモデルの一覧
iinfer -m client -c deploy_list -f
  1. AIモデルのセッションを開始:

# 画像AIモデルを起動させて推論可能な状態に(セッションを確保)する
# use_trackを指定するとObjectDetectionタスクの結果に対して、MOT(Multi Object Tracking)を実行しトラッキングIDを出力する。
iinfer -m client -c start -n <モデル名> -f \
                          --use_track
  1. 推論を実行:

# 推論を実行する
# output_previewを指定するとimshowで推論結果画像を表示する(GUI必要)
iinfer -m client -c predict -n <モデル名> -f \
                            -i <推論させる画像ファイル> \
                            -o <推論結果の画像ファイル> \
                            --output_preview

# カメラキャプチャー画像を元に推論を実行し、クラススコアが0.8以上の物体のみを検出する
# --stdin --image_type capture で標準入力のキャプチャー画像を推論する
iinfer -m client -c capture | \
iinfer -m client -c predict -n <モデル名> \
                            --stdin \
                            --image_type capture \
                            --nodraw | \
iinfer -m postprocess -c det_filter -f -P \
                            --stdin \
                            --score_th 0.8
  1. AIモデルのセッションを開放:

# 画像AIモデルを停止させてセッションを開放
iinfer -m client -c stop -n <モデル名> -f

データの保存場所

pathlib.Path(HOME_DIR) / '.iinfer'