ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

FF14雑記:言語を超える力Web環境構築:TensorFlow + Object Detection API用にDockerfileを書いて、DockerイメージをAWS ECR+Lambdaで動かすテスト

前回の記事はこちらです

blog.gelehrte.com

前回、AWS S3にある画像をAWS Lambdaで処理する練習を行いました。今回は実際にObject Detection APIによる物体検知を実際に動かしてみます。

参考にした記事

「Object Detection API」で物体検出の自前データを学習する方法(TensorFlow 2.x版)

Dockerfileの記述をするのに参考にしました。
qiita.com

AWS ECR + Lambdaを使ってみる

Dockerのコマンドなどを参考にしました
zenn.dev

やってみた

Dockerfileの記述

こちらのように記述しました。今回は私の作成しているアプリ「言語を超える力」

AWS Lambda上で動かしてみました

AWS ECR からLambda関数を動かすところまでは前回やりました。詳しくは前回の記事を。

設定

Lambda関数のメモリ制限を3G、タイムアウトを3分に設定しました。

実際に動かしてみた

こちらが動かした時間などです。

メモリは約2GB、実行時間は約70秒かかりました。どうしても実行時間に学習させたモデルをメモリに読み込ませる時間、および使用するメモリ自体にリソースがかかりますね。これはLambdaで動かしている以上ある程度しょうがない気がします。

今後の予定

前回の記事の予定の部分から画像処理の部分を抜いた話になるのですが、一応転載を。

JavaScriptAmazon S3にファイルをアップロード

このあたりが参考になりそうです
qiita.com
S3に画像ファイルを置けば、Lambdaから読み込んで加工できるという寸法です。

S3に処理された画像が書き込まれたら、画像を表示するWeb UIを作る

S3の特定のURLにファイルが書き込まれるはずです、Web UI側でファイルの存在をJavaScriptで(1秒ごとにチェックしにいくとかで)検知し、表示させます。今回のことで処理に1,2分かかるということがわかりましたので、1分以上かかるよーってことがわかるようにUIを工夫する必要がありますね。

終わりに

今回もFF14とは関係のない、AWSの記事になってしまいました。それでもお付き合い願えれば幸いです。


広告