学習して保存するソースコードを教えてください。
・Androidの環境 で、
・学習する
と言う事が必須です。
不可能ではないのかとの情報もあるのですが、
その場合、
完全に出来ないという根拠を示して欲しいです。
こんにちは。
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 を用いた「学習」処理の具体的な手順については、公式サイトをご覧いただくか、関連の書籍をご参照いただくのがよいと思われます。
ご質問いただいた内容の回答になっていますでしょうか。
ご確認よろしくお願い申し上げます。
であれば
2018/07/04 18:11:25出来ない、と言う事を
明確に示した情報が欲しいのですが...
Android アプリから TensorFlow の「学習」機能を利用しようとする場合は、TensorFlow の Java 版の API を利用することになると思います。
2018/07/05 18:41:14しかし、公式の 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/ )などにお問い合わせいただくのが早いのではないか、と考えております。
以上、ご確認どうぞよろしくお願いいたします。