2017年2月16日木曜日

来た!Java TensorFlow!

 Googleの著名な人工知能開発環境(ライブラリ)TensorFlowが、昨日(2017-2-15)正式版Version1となりました。

 今まではベータ版だったのですね。その際に、特に注目されたのが、Java APIが公開されたこと。ただし、Javaの場合は安定性の保証がない実験的実装となっていますが。これまでは、主にPythonでした。Pythonは非常に使いやすいのではありますが、学生諸君が(私もですが)また、新たにPython言語を覚えないといけないので、ちょっとしんどい。でも、もちろんやる気でここまできてはいました。

 ここへ来てJavaでTensorFlowが使えるとなれば、これは私にとっては一大事。取組み戦略も変えないといけないくらいの出来事です。すぐに、そのTensorFlow Java APIを使う例題を動かすことにしました。多少トラブルがあったものの、Mac Power Bookで動かして、感触を掴むことができました。

 その例題は、(どれだけの画像を学習させたは不明ですが)とにかく、与えられた画像を1,000種に分類するものです。つまり、与えた画像に映っているものが、1,000種類のもののうち、どれに一番近いかを判定します。下図が実行結果例です。

上段:ニューラルネットワークの画像→判定はcrane(鶴)。そうも見えます。
下段:ICカードリーダーの写真:→判定はmouse。そうも見えます。


 このJava例題は、学習済みのCNN(畳込みニューラルネットワーク)を使って、何でも与えられた写真(画像)を判定するものです。比較的簡単な例題として作られたものなので、それほど高性能ではありませんが、今後Javaでやるための糸口を得られたことが大きい。もちろん、今後、学習するためのCNN自体も、このTensorFlow Java APIで作ります。

0 件のコメント:

コメントを投稿