Custom Vision APIをDockerで使う

先日の関西のイベントでLTしてきました。

Custom Vision APIで学習させたモデルがExportできるようになってるのですが、タイプでDockerFileが選べるので試してみたというネタです。

スライドにもありますが、Exportで得られたZipを解凍するとこんな感じになります。

image

TensorFlowなモデルを使って予測するpredict.pyと、HTTPで画像やURLを受け取ってPredictするWebサーバーな部分(本体)のapp.pyがキモかな。WebサーバーとしてのフレームワークはFlaskを使用してるようです。

基本的にこのままdocker buildすれば /imageなりで画像ファイルや画像のURLを渡せば予測結果をJSONで返してくれます。
あとはDockerエコシステムに乗せてお好きなように。このままだと予測結果やアップロードされた画像など残らないので、おまけネタとしてnginxのmirror使ってリクエスト複製して良しなに保存するなり再度学習用データにするなりしましょう、という話でした。

※どうでもいいけど数日たったらAzure Container InstancesのDockerコンテナーから応答がなくなるんだけど何が悪いのか。。。ぱっとみよくあるアタック受けてそうではあるが。

まぁわざわざExportしなくてもマネージドで使えるんですが、レイテンシ気にしたりオフラインで処理したりとかを考えるとモデルのExportは選択肢の一つとしてありがたいので今後に期待しましょう。(他のAPIとかObject Detectionも待ってる)

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中