Maven で TensorFlowを使ってみる

eclipseでTensorFlowを使うプロジェクトの作成方法をご紹介します。前回の記事で作成した Maven プロジェクトを活用して TensorFlow を使ってみます。

Mavenプロジェクト で Hello World を出力する
eclipseのMavenプロジェクトで「Hello World」とコンソール出力するプロジェクトを作成します。 メリット Ma...

今回はTensorFlow公式サイトのチュートリアルに従い “Hello” をコンソール出力します。

TensorFlowインストール

TensorFlow公式サイトのインストール方法を確認します。

pom.xml をテキスト形式で開いて、上記のXMLをコピペします。

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

TensorFlowビルド方法指定

次にプロパティーを追加してビルド方法を指定します。公式サイトのプロパティー追加方法を確認して次のように追加します。

コピペ用にテキストも置いておきます。

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.myorg</groupId>
  <artifactId>hellotensorflow</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <exec.mainClass>HelloTensorFlow</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>
  <dependencies>
    <dependency>
      <groupId>org.tensorflow</groupId>
      <artifactId>tensorflow</artifactId>
      <version>1.14.0</version>
    </dependency>
  </dependencies>
</project>

上記のプロパティーを追加しないと、こんなエラーが出ます。
try-with-resourceは-source 1.5でサポートされていません

これは Maven では java の標準コンパイルのバージョンが古いためです。プロパティーを記載してビルド方法を指定するとエラーが解消されます。TensorFlow公式では上記のとおり1.7にしていますね。

ソースコード作成

次にソースコードを書いていきます。まずクラスを作成します。

クラス名やパッケージ名は公式サイトに合わせておきましょう。

クラスの内容は、公式サイトをコピペしましょう。

そのままだと警告が出るので、気になる方は @SuppressWarnings(“rawtypes”) を追記しましょう。

そしたら実行してみましょう。次のようにコンソールに表示されたら成功です。

Hello from 1.8.0

赤文字でこんな文章が出るかと思いますが、これはGPUを使用してtensorflowを動かすように促しています。

2018-06-10 16:33:10.639926: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

GPUを使用する場合

公式サイトにもGPUを使用する方法が記載されています。システムを稼働させるハードウェアがGPUを使用できる場合には、次のMaven設定をしてGPUを使用した方が処理が早くなります。

重い処理が必要な場合にはGPU対応させておくと便利です。 ただ今回のようにHello from 1.8.0 を出すだけでは必要ないですね。