iinferの概要
onnx又はmmlabフォーマットのAIモデルファイルを実行するアプリケーションです。
iinferを使用することで、AIモデルを簡単に実行することが出来ます。
動作確認したモデルは 動作確認済みモデル に記載しています。
主なAIタスクは、画像分類、物体検知、領域検知、顔検知、顔認識です。
複数の iinfer コマンドの入出力をつなげる、パイプライン処理を行うことが出来ます。
GUIモードを使用することで、 iinfer コマンド操作を簡単に行うことが出来ます。
iinferの動作イメージ

iinfer client は imageファイル や camera から画像を取得し、 推論結果 predict.json を出力します。
iinfer server は推論を行うサーバーです。 iinfer client からの要求に応えて、推論結果を iinfer client に返します。
iinfer server は予め ai model をロードしておくことで、推論を高速化します。
iinfer client と iinfer server は Redis 経由で通信します。
iinfer server と Redis は dockerコンテナ を使用して起動させることが出来ます。
インストール方法
インストール方法は インストール を参照してください。
iinferの使用方法
iinferを使用するには、次のコマンドを実行します:
guiモードで利用する場合:
iinfer -m gui -c start
コマンドモードで利用する場合
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
AIモデルのセッションを開始:
# 画像AIモデルを起動させて推論可能な状態に(セッションを確保)する # use_trackを指定するとObjectDetectionタスクの結果に対して、MOT(Multi Object Tracking)を実行しトラッキングIDを出力する。 iinfer -m client -c start -n <モデル名> -f \ --use_track
推論を実行:
# 推論を実行する # 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
AIモデルのセッションを開放:
# 画像AIモデルを停止させてセッションを開放 iinfer -m client -c stop -n <モデル名> -f
データの保存場所
pathlib.Path(HOME_DIR) / '.iinfer'