ディープラーニングの学習や研究では Python を使うことが多いですが、学習済みモデルを活用したアプリケーション開発を想定して、アプリケーション開発でよく使われる Windows, Eclipse, Java で TensorFlow を利用できるように環境構築してみました。

「深層学習 TensorFlow Windows版 インストール」 で、Anaconda , Python , TensorFlow , TFLearn をインストール済みの Windows に Eclipse と TensorFlow for Java をインストールしました。
TensorFlow for Java は、Java用の TensorFlow ですが、基本的には、学習は Python で行い、Java では、学習済みモデルを利用したアプリケーション開発を行うことを想定しています。
また、 Eclipse で Anaconda と Python を利用できるように PyDev の設定も行いました。

(1)Eclipse + PyDev のインストール

前提:Anaconda, Python, TensorFlow をインストール済みの Windows

まずは、Eclipse をインストールしてPythonを実行してみました。
PyDev は Python による開発を行うためのプラグインです。

ダウンロードサイト
http://mergedoc.osdn.jp/
ダウンロード
Pleiades All in One 4.7.3a.v20180411 Windows 64bit Full Edition + Ultimate
(Java, Python, PyDev を全て含む Eclipse Oxygen)

pleiades-4.7.3-ultimate-win-64bit-jre_20180411.zip

適当なフォルダに解凍して Eclipse を実行。

PyDev の設定。

[ウィンドウ]―>[設定]
[PyDev]―>[インタープリター]―>[pythonのインタープリター]
[新規]
インタープリター設定
(Anaconda, tensorflow仮想環境)Anaconda3\envs\tensorflow\python.exe

設定が終わった後、[Python]パースペクティブで実行してみました。
プロジェクト作成して Anaconda の TensorFlow 仮想環境を選択、簡単なプログラムを実行。

———————–
import tensorflow
print(‘Helo, AI!’)
———- 実行結果
Helo, AI!
———————–

「深層学習 TensorFlow を MNIST で試す」 の全結合型のニューラルネットワークの python プログラムを実行してみました。

データ用に workspace\(プロジェクト)\data\mnist のフォルダを作成。

———- 実行結果

学習時間
start:2018-05-30 23:01:33.849473
end:2018-05-30 23:36:27.742035
テスト実行時間
start2018-05-30 23:36:27.742035
end2018-05-30 23:38:26.321147
精度
0.9845

———————–

まずは、Eclipse で Python が使えるようになりました。

 

(2)Eclipse + TensorFlow for Java の環境

Installing TensorFlow for Java のサイトを参考にインストール。
https://www.tensorflow.org/install/install_java

”Using TensorFlow with a Maven project” の部分を参考にして、
Java Maven プロジェクトを作成して pon.xml を変更。
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>1.8.0</version>
</dependency>

「… 1.7 より下のため使用できません」のエラーメッセージがでたので、Java の設定を 1.7 に変更しました。
その後、”UnsatisfiedLinkError ”が出たので、TensorFlow for Java のバージョンを 1.3.0 に下げてみました。

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<exec.mainClass>HelloTF</exec.mainClass>
<!– The sample code requires at least JDK 1.7. –>
<!– The maven compiler plugin defaults to a lower version –>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>

<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>1.3.0</version>
</dependency>

サイトにあったサンプルプログラム

Create the source file (src/main/java/HelloTF.java):

を実行してみました。

—–実行結果

Hello from 1.3.0

———————–

エラーは出ませんでした。

とりあえず、今回はここまでとします。

(S.Onda 2018/5/30)