iinfer


Nameiinfer JSON
Version 0.9.0 PyPI version JSON
download
home_pagehttps://github.com/hamacom2004jp/iinfer
Summaryiinfer: An application that executes AI model files in onnx or mmlab format.
upload_time2024-11-17 10:31:45
maintainerhamacom2004jp
docs_urlNone
authorhamacom2004jp
requires_python>=3.8
licenseMIT
keywords onnxruntime predict inference image ai model
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # iinfer (Image Inference Application)

- onnx又はmmlabフォーマットのAIモデルファイルを実行するアプリケーションです。
- ドキュメントは[こちら](https://hamacom2004jp.github.io/iinfer/)。
- iinferを使用することで、AIモデルを簡単に実行することが出来ます。
- 動作確認したモデルは[動作確認済みモデル](https://hamacom2004jp.github.io/iinfer/docs/models.html)に記載しています。
- 主なAIタスクは、画像分類、物体検知、領域検知、顔検知、顔認識です。
- 複数の `iinfer` コマンドの入出力をつなげる、パイプライン処理を行うことが出来ます。
- GUIモードを使用することで、 `iinfer` コマンド操作を簡単に行うことが出来ます。


## iinferの動作イメージ

![iinferの動作イメージ](https://github.com/hamacom2004jp/iinfer/raw/main/docs_src/static/orverview.drawio.png)

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コンテナ** を使用して起動させることが出来ます。

## インストール方法

インストール方法は [こちら](https://hamacom2004jp.github.io/iinfer/docs/install.html) を参照してください。

## iinferの使用方法

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

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

![guiモードのイメージ](https://github.com/hamacom2004jp/iinfer/raw/main/docs_src/static/ss/00242_cmd_predict.jpg)

```bash
iinfer -m gui -c start
```

2. コマンドモードで利用する場合

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

    ```bash
    # 画像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
    ```

    2. AIモデルのセッションを開始:

    ```bash

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

   3. 推論を実行:

    ```bash
    # 推論を実行する
    # 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
    ```

    4. AIモデルのセッションを開放:

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

## Lisence

This project is licensed under the MIT License, see the LICENSE file for details



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hamacom2004jp/iinfer",
    "name": "iinfer",
    "maintainer": "hamacom2004jp",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "hamacom2004jp@gmail.com",
    "keywords": "onnxruntime predict inference image ai model",
    "author": "hamacom2004jp",
    "author_email": "hamacom2004jp@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/d5/37/fb7335be9258159ce8743f63965fe10f5112519f9044d55cea7dd461c8d6/iinfer-0.9.0.tar.gz",
    "platform": null,
    "description": "# iinfer (Image Inference Application)\r\n\r\n- onnx\u53c8\u306fmmlab\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306eAI\u30e2\u30c7\u30eb\u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002\r\n- \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f[\u3053\u3061\u3089](https://hamacom2004jp.github.io/iinfer/)\u3002\r\n- iinfer\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001AI\u30e2\u30c7\u30eb\u3092\u7c21\u5358\u306b\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\r\n- \u52d5\u4f5c\u78ba\u8a8d\u3057\u305f\u30e2\u30c7\u30eb\u306f[\u52d5\u4f5c\u78ba\u8a8d\u6e08\u307f\u30e2\u30c7\u30eb](https://hamacom2004jp.github.io/iinfer/docs/models.html)\u306b\u8a18\u8f09\u3057\u3066\u3044\u307e\u3059\u3002\r\n- \u4e3b\u306aAI\u30bf\u30b9\u30af\u306f\u3001\u753b\u50cf\u5206\u985e\u3001\u7269\u4f53\u691c\u77e5\u3001\u9818\u57df\u691c\u77e5\u3001\u9854\u691c\u77e5\u3001\u9854\u8a8d\u8b58\u3067\u3059\u3002\r\n- \u8907\u6570\u306e `iinfer` \u30b3\u30de\u30f3\u30c9\u306e\u5165\u51fa\u529b\u3092\u3064\u306a\u3052\u308b\u3001\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u51e6\u7406\u3092\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\r\n- GUI\u30e2\u30fc\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001 `iinfer` \u30b3\u30de\u30f3\u30c9\u64cd\u4f5c\u3092\u7c21\u5358\u306b\u884c\u3046\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\r\n\r\n\r\n## iinfer\u306e\u52d5\u4f5c\u30a4\u30e1\u30fc\u30b8\r\n\r\n![iinfer\u306e\u52d5\u4f5c\u30a4\u30e1\u30fc\u30b8](https://github.com/hamacom2004jp/iinfer/raw/main/docs_src/static/orverview.drawio.png)\r\n\r\n1. **iinfer client** \u306f **image\u30d5\u30a1\u30a4\u30eb** \u3084 **camera** \u304b\u3089\u753b\u50cf\u3092\u53d6\u5f97\u3057\u3001 **\u63a8\u8ad6\u7d50\u679c predict.json** \u3092\u51fa\u529b\u3057\u307e\u3059\u3002\r\n2. **iinfer server** \u306f\u63a8\u8ad6\u3092\u884c\u3046\u30b5\u30fc\u30d0\u30fc\u3067\u3059\u3002 **iinfer client** \u304b\u3089\u306e\u8981\u6c42\u306b\u5fdc\u3048\u3066\u3001\u63a8\u8ad6\u7d50\u679c\u3092 **iinfer client** \u306b\u8fd4\u3057\u307e\u3059\u3002\r\n3. **iinfer server** \u306f\u4e88\u3081 **ai model** \u3092\u30ed\u30fc\u30c9\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u3001\u63a8\u8ad6\u3092\u9ad8\u901f\u5316\u3057\u307e\u3059\u3002\r\n4. **iinfer client** \u3068 **iinfer server** \u306f **Redis** \u7d4c\u7531\u3067\u901a\u4fe1\u3057\u307e\u3059\u3002\r\n5. **iinfer server** \u3068 **Redis** \u306f **docker\u30b3\u30f3\u30c6\u30ca** \u3092\u4f7f\u7528\u3057\u3066\u8d77\u52d5\u3055\u305b\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\r\n\r\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\r\n\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306f [\u3053\u3061\u3089](https://hamacom2004jp.github.io/iinfer/docs/install.html) \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002\r\n\r\n## iinfer\u306e\u4f7f\u7528\u65b9\u6cd5\r\n\r\niinfer\u3092\u4f7f\u7528\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059:\r\n\r\n1. gui\u30e2\u30fc\u30c9\u3067\u5229\u7528\u3059\u308b\u5834\u5408:\r\n\r\n![gui\u30e2\u30fc\u30c9\u306e\u30a4\u30e1\u30fc\u30b8](https://github.com/hamacom2004jp/iinfer/raw/main/docs_src/static/ss/00242_cmd_predict.jpg)\r\n\r\n```bash\r\niinfer -m gui -c start\r\n```\r\n\r\n2. \u30b3\u30de\u30f3\u30c9\u30e2\u30fc\u30c9\u3067\u5229\u7528\u3059\u308b\u5834\u5408\r\n\r\n    1. AI\u30e2\u30c7\u30eb\u306e\u30c7\u30d7\u30ed\u30a4:\r\n\r\n    ```bash\r\n    # \u753b\u50cfAI\u30e2\u30c7\u30eb\u306e\u30c7\u30d7\u30ed\u30a4\r\n    # \u63a8\u8ad6\u30bf\u30a4\u30d7\u306f\u30e2\u30c7\u30eb\u306eAI\u30bf\u30b9\u30af\u3084\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306b\u5408\u308f\u305b\u3066\u6307\u5b9a\u3059\u308b\u3002\u6307\u5b9a\u53ef\u80fd\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\"iinfer -m client -c predict_type_list\"\u30b3\u30de\u30f3\u30c9\u53c2\u7167\u3002\r\n    iinfer -m client -c deploy -n <\u4efb\u610f\u306e\u30e2\u30c7\u30eb\u540d> -f \\\r\n                               --model_file <\u30e2\u30c7\u30eb\u30d5\u30a1\u30a4\u30eb> \\\r\n                               --model_conf_file <\u30e2\u30c7\u30eb\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb> \\\r\n                               --predict_type <\u63a8\u8ad6\u30bf\u30a4\u30d7> \\\r\n                               --label_file <\u30e9\u30d9\u30eb\u30d5\u30a1\u30a4\u30eb>\r\n\r\n    # \u30c7\u30d7\u30ed\u30a4\u3055\u308c\u3066\u3044\u308b\u753b\u50cfAI\u30e2\u30c7\u30eb\u306e\u4e00\u89a7\r\n    iinfer -m client -c deploy_list -f\r\n    ```\r\n\r\n    2. AI\u30e2\u30c7\u30eb\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u958b\u59cb:\r\n\r\n    ```bash\r\n\r\n    # \u753b\u50cfAI\u30e2\u30c7\u30eb\u3092\u8d77\u52d5\u3055\u305b\u3066\u63a8\u8ad6\u53ef\u80fd\u306a\u72b6\u614b\u306b(\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u78ba\u4fdd)\u3059\u308b\r\n    # use_track\u3092\u6307\u5b9a\u3059\u308b\u3068ObjectDetection\u30bf\u30b9\u30af\u306e\u7d50\u679c\u306b\u5bfe\u3057\u3066\u3001MOT\uff08Multi Object Tracking\uff09\u3092\u5b9f\u884c\u3057\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0ID\u3092\u51fa\u529b\u3059\u308b\u3002\r\n    iinfer -m client -c start -n <\u30e2\u30c7\u30eb\u540d> -f \\\r\n                              --use_track\r\n    ```\r\n\r\n   3. \u63a8\u8ad6\u3092\u5b9f\u884c:\r\n\r\n    ```bash\r\n    # \u63a8\u8ad6\u3092\u5b9f\u884c\u3059\u308b\r\n    # output_preview\u3092\u6307\u5b9a\u3059\u308b\u3068imshow\u3067\u63a8\u8ad6\u7d50\u679c\u753b\u50cf\u3092\u8868\u793a\u3059\u308b\uff08GUI\u5fc5\u8981\uff09\r\n    iinfer -m client -c predict -n <\u30e2\u30c7\u30eb\u540d> -f \\\r\n                                -i <\u63a8\u8ad6\u3055\u305b\u308b\u753b\u50cf\u30d5\u30a1\u30a4\u30eb> \\\r\n                                -o <\u63a8\u8ad6\u7d50\u679c\u306e\u753b\u50cf\u30d5\u30a1\u30a4\u30eb> \\\r\n                                --output_preview\r\n\r\n    # \u30ab\u30e1\u30e9\u30ad\u30e3\u30d7\u30c1\u30e3\u30fc\u753b\u50cf\u3092\u5143\u306b\u63a8\u8ad6\u3092\u5b9f\u884c\u3057\u3001\u30af\u30e9\u30b9\u30b9\u30b3\u30a2\u304c0.8\u4ee5\u4e0a\u306e\u7269\u4f53\u306e\u307f\u3092\u691c\u51fa\u3059\u308b\r\n    # --stdin --image_type capture \u3067\u6a19\u6e96\u5165\u529b\u306e\u30ad\u30e3\u30d7\u30c1\u30e3\u30fc\u753b\u50cf\u3092\u63a8\u8ad6\u3059\u308b\r\n    iinfer -m client -c capture | \\\r\n    iinfer -m client -c predict -n <\u30e2\u30c7\u30eb\u540d> \\\r\n                                --stdin \\\r\n                                --image_type capture \\\r\n                                --nodraw | \\\r\n    iinfer -m postprocess -c det_filter -f -P \\\r\n                                --stdin \\\r\n                                --score_th 0.8\r\n    ```\r\n\r\n    4. AI\u30e2\u30c7\u30eb\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u958b\u653e:\r\n\r\n    ```bash\r\n    # \u753b\u50cfAI\u30e2\u30c7\u30eb\u3092\u505c\u6b62\u3055\u305b\u3066\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u958b\u653e\r\n    iinfer -m client -c stop -n <\u30e2\u30c7\u30eb\u540d> -f\r\n    ```\r\n\r\n## Lisence\r\n\r\nThis project is licensed under the MIT License, see the LICENSE file for details\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "iinfer: An application that executes AI model files in onnx or mmlab format.",
    "version": "0.9.0",
    "project_urls": {
        "Download": "https://github.com/hamacom2004jp/iinfer",
        "Homepage": "https://github.com/hamacom2004jp/iinfer"
    },
    "split_keywords": [
        "onnxruntime",
        "predict",
        "inference",
        "image",
        "ai",
        "model"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a9c7939a99c7a94a6fa11c45f85e71d9e8c66635743e08cf8241e5ddd8a7175f",
                "md5": "d30d77b6aa89a14f26879cce2275b9c6",
                "sha256": "b2db5f125fa1b2b6d37c13c0c58dcf2f5e78467a0bce7715cfdd5cac41cade32"
            },
            "downloads": -1,
            "filename": "iinfer-0.9.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d30d77b6aa89a14f26879cce2275b9c6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 2476720,
            "upload_time": "2024-11-17T10:31:43",
            "upload_time_iso_8601": "2024-11-17T10:31:43.731793Z",
            "url": "https://files.pythonhosted.org/packages/a9/c7/939a99c7a94a6fa11c45f85e71d9e8c66635743e08cf8241e5ddd8a7175f/iinfer-0.9.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d537fb7335be9258159ce8743f63965fe10f5112519f9044d55cea7dd461c8d6",
                "md5": "ba0cb318695b3b0a02162c65b03cf498",
                "sha256": "8e4544d228a07309492d121863072cebddccac57ce108a630f22e1ca833dff64"
            },
            "downloads": -1,
            "filename": "iinfer-0.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ba0cb318695b3b0a02162c65b03cf498",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 2093244,
            "upload_time": "2024-11-17T10:31:45",
            "upload_time_iso_8601": "2024-11-17T10:31:45.386170Z",
            "url": "https://files.pythonhosted.org/packages/d5/37/fb7335be9258159ce8743f63965fe10f5112519f9044d55cea7dd461c8d6/iinfer-0.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-17 10:31:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hamacom2004jp",
    "github_project": "iinfer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "iinfer"
}
        
Elapsed time: 0.54959s