Android環境でTensorflowの学習モデルを

学習して保存するソースコードを教えてください。

・Androidの環境 で、
・学習する 
と言う事が必須です。




不可能ではないのかとの情報もあるのですが、
その場合、
完全に出来ないという根拠を示して欲しいです。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2018/07/10 12:05:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:IntelligentTechnology No.1

回答回数1ベストアンサー獲得回数1

ポイント200pt

こんにちは。
Android 環境で TensorFlow を利用する、という場合は、公式の情報によりますと、TensorFlow Mobile を利用する、という方法になるようです。

Android プラットフォームの場合は、Android Studio でプロジェクトを作成して、そのプロジェクトの build.gradle ファイルに

 dependencies {
  compile 'org.tensorflow:tensorflow-android:+'
 }

などと記載することで、TensorFlow Mobile の機能が呼び出せるようになるようです。(参考

ただ、これら公式の情報を見ても、想定する利用方法としては、すでに学習済みのモデルを Android アプリに組み込んで、その結果だけを利用する、というものばかりのようで、Android スマートフォン上で「学習」自体を行う、という情報はまだ見つけられていません。

なお、弊社ブログで以前紹介していました、別の DeepBeliefSDK というライブラリでは、例えば、iOS アプリで、画像認識について(簡易的に?)学習させる、ということができていましたので、TensorFlow も、同様な機能は持っている可能性もあります。

しかしもし、Android スマートフォン上で「学習」の機能が使える、としましても、この「学習」にかかる部分は、通常は、多大なマシンスペックを必要とするものだと思われます。
したがいまして、スペックに余裕のある PC で学習自体は事前に行っておき、その学習済みモデルのみを、Androidアプリのプロジェクトに組み込み、TensorFlowのライブラリとともに利用する、という方法が、(現時点では)いちばん現実的なのではないかと思われます。

なお、PC 上での、TensorFlow を用いた「学習」処理の具体的な手順については、公式サイトをご覧いただくか、関連の書籍をご参照いただくのがよいと思われます。

ご質問いただいた内容の回答になっていますでしょうか。
ご確認よろしくお願い申し上げます。

id:TAK_TAK

であれば
出来ない、と言う事を
明確に示した情報が欲しいのですが...

2018/07/04 18:11:25
id:IntelligentTechnology

Android アプリから TensorFlow の「学習」機能を利用しようとする場合は、TensorFlow の Java 版の API を利用することになると思います。
しかし、公式の Java 版 API のリスト( https://www.tensorflow.org/api_docs/java/reference/org/tensorflow/package-summary )を見ますと、
TensorFlow の Python 版 API にあるような、「学習」用の API が用意されているようには見えません。
また、この Java 版 API の公式サンプルプロジェクトの README.md( https://github.com/tensorflow/models/tree/master/samples/languages/java ) にも、

 The TensorFlow Java API does not have feature parity with the Python API. The Java API is most suitable for inference using pre-trained models and for training pre-defined models from a single Java process.

とあり、基本的には、事前に学習済みのモデルを使う、というのを想定しているようです。

以上のことから、TensorFlow を用いての、Android 端末上での「学習」を行う、ということは、基本的にはできない、と考えておくのが、現実的か、と考えています。
(仮になんらかの方法でできる、としましても、前述のとおり、マシンスペックの制約の問題から、効率の良い方法とはならないのではないか、と想定しています。)

ただ、こちらで動作を確認した、というわけではありませんので、より正確な情報がご必要となります場合は、TensorFlow の公式の Community ページ( https://www.tensorflow.org/community/ )などにお問い合わせいただくのが早いのではないか、と考えております。

以上、ご確認どうぞよろしくお願いいたします。

2018/07/05 18:41:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません