issues
search
ml-app-akimoto
/
android
0
stars
0
forks
source link
どこで推論を行うか
#1
Open
kokoichi206
opened
2 years ago
kokoichi206
commented
2 years ago
どこで推論を行うか
Edge(Android)
自宅サーバー
cloud funtions など
(そもそも)
TensorFlow Lite
を使って学習する
kokoichi206
commented
2 years ago
1. Edge(Android)
メリット
通信環境が不要
スケーラビリティなどの考慮不要
デメリット
Web, iOS など他のアプリでも推論のプロセスを組み直す必要がある
Kotlin などで適したライブラリがあるか不明
2. 自宅サーバー
メリット
楽
Android 等よりはリソースが十分に使えそう
学習と同じような手順で、python を使ってできる
デメリット
負荷分散などが今のところできてない
個人利用ならいいって妥協する?
3. cloud functions など
メリット
楽そう
よし何やってくれる部分が多そう
自動スケーリングは大きい
デメリット
ちゃんと調べないとお金がかかるかも
4. (そもそも)TensorFlow Lite を使って学習する
メリット
Android で使うための例が豊富
Raspberry Pi もあるので面白そう
Android で動かすのは速そう
デメリット
Web とかでどう使ったらいい?
学習の段階から少し変える?
考察
今回はノーマルの機械学習メソッドになれるのも目的であるため、TensorFlow Lite は次回行う。
kokoichi206
commented
2 years ago
「3. cloud functions など」について
GCP を使う場合
Cloud Run
URL ごとに1つの関数を配置できる
関数を増やしたくなった場合、最初から「Cloud Functions」などでやった方が良さそう
Cloud Functions
コンテナによってラウドイベントに対応できる
「デプロイしたコンテナの自動スケーリング」などに対応!
App Engines, Kubernetes Engine
今回の目的(解析用のバックエンド)にしてはやりすぎ
AWS を使う場合
GCP との大雑把な比較
Amazon Elastic Container Service (Amazon ECS)
Cloud Run
AWS Lambda
Cloud Functions
Amazon Elastic Kubernetes Service (EKS)
Google Kubernetes Engine
選定
以下の点から「Cloud Run」を使う
自動でスケールする
使いたい関数が増えたときに、サービスを増やさずに実装可能
ドキュメントが見やすい
どこで推論を行うか