YOLOv4 TensorFlow Lite を使用したコンテナー イメージをビルドする方法

完了

このモジュールでは、事前トレーニング済みの YOLOv4 (tiny)TensorFlowLite モデルを使用して、Docker コンテナーを作成します。 アプリ コードは、tensorflow-yolov4-tflite プロジェクトに基づいています。 このプロジェクトでは、TensorFlow v2.3.0 が使用されています。

コンテナー イメージを作成する

Container Registry を使用したコンテナー イメージは、Docker CLI または Azure CLI を使用してプッシュ/プルできます。 Azure portal の統合環境では、コンテナー レジストリ内のコンテナー イメージを視覚的に調べることができます。

Dockerfile は、Docker イメージをビルドして実行するための命令を含んだテキスト ファイルです。 YOLO モデルを使ったコンテナー イメージをビルドするには、Docker build コマンドを使用します。 処理が正常に完了すると、Docker イメージが PC に保存されます。

Azure コンテナー レジストリを作成する

コンテナー イメージを格納して管理するには、Azure コンテナー レジストリを使用します。 Azure でレジストリを作成するには、az acr to を使用します。

コンテナー レジストリにイメージをプッシュする

コンテナー イメージをレジストリにプッシュするには、まずイメージのバージョンを指定するためのタグが必要です。 コンテナー レジストリ情報をイメージにタグ付けるには、docker tag コマンドを使用します。

イメージをローカル コンピューターから Azure Container Registry リポジトリにプッシュするには、まず docker login コマンドを使用して、レジストリのログイン サーバーの URL を指定します。 Azure Container Registry のレジストリ用のログイン サーバー URL は、<registry_name>.azurecr.io という形式になります。

その後、docker push コマンドを使用して、コンテナー レジストリにイメージをプッシュします。

エッジ モジュールとして IoT Edge にデプロイする

イメージをコンテナー レジストリにプッシュすると、イメージの URI は、<registry_name>.azurecr.io.<image_name : tag_version> という形式になります。

コンテナー イメージをエッジ モジュールとして IoT Edge にデプロイするには、イメージ URI、コンテナー レジストリ名、ログイン サーバー、およびパスワードの詳細を指定します。

その後、独自の推論モジュールがエッジ デバイスに作成され、エッジデバイス内から、http://{module name}:80/score を通じて予測エンドポイントにアクセスできるようになります。

実行する手順

全体的な手順は次のとおりです。

  1. 事前トレーニング済みの YOLO モデルをダウンロードする

  2. YOLO モデルを使用したコンテナー イメージをビルドする

  3. Azure portal でコンテナー レジストリを作成する

  4. Docker イメージを Azure Container Registry にプッシュする

  5. コンテナー化された YOLO モデルを IoT Edge モジュールとしてデプロイする