【AWS関連】Flaskを用いてyolo5モデルを公開するリポジトリのECRとAWS App Runnerでの使用方法

こちらにも同じの内容を記載しています。)

本記事では、AWS App Runnerとyolo5を用いた物体検出APIの構築例について紹介します。

Amazon ECR

以下で公開されている、Flaskを用いてyolo5モデルを公開するリポジトリについて、

https://github.com/robmarkcole/yolov5-flask

Amazon ECR(Elastic Container Registry)のパブリックレジストリにイメージを登録しました。

https://gallery.ecr.aws/b8m8i5m3/yolov5-flask

元のリポジトリから一部ソースコードを変更しています。フォークしたリポジトリは以下です。

https://github.com/ldasjp8/yolov5-flask

以下では、本イメージの利用例として、App Runnerでの使用方法を説明します。

AWS App Runner

App Runnerにアクセスして、画面右上の「サービスの作成」をクリックします。

次の「ソースおよびデプロイ」画面において、以下のように選択します。「コンテナイメージのURI」には、以下を与えてください。

public.ecr.aws/b8m8i5m3/yolov5-flask:latest

次の「サービスを設定」画面において、サービス名を入力し、ポートを5000に変更します。

その後の設定はデフォルトのまま進めると、以下の画面に遷移します。

5分から10分程度待つと、「ステータス」が「Running」となったら成功です。

「デフォルトドメイン」のドメインhttps://XXXX.us-east-1.awsapprunner.com/ 」を用いて、以下のURLにアクセスしてください。

https://XXXX.us-east-1.awsapprunner.com/detect?url=https://raw.githubusercontent.com/ultralytics/yolov5/master/data/images/zidane.jpg

以下に示すような物体検出結果のJSONデータが返却されます。

まとめ

AWS App Runnerを用いて、yolo5を用いた物体検出APIを簡単に構築することができました。

App Runnerを用いたAPI構築の一例として、参考になりましたら幸いです。