Java TensorFlow 〜機械学習を始める(Mavenインストール)〜

イントロダクション

テキストRPGを作成するのにTRPG的なものを作成しようと思っております。そうすると、言語に対応する為の機械学習機能が必要になるので世間に浸透しつつある「Tensor Flow」を使用して見ようとなりました。

準備

とりあえず、TensorFlowの「Jarファイル」をダウンロードしてくればいけるだろうと思いますので、ダウンロードします。

ソースコードは下のサイトからコピってきました。
https://www.tensorflow.org/install/install_java

動かしてみる

import org.tensorflow.Graph;
import org.tensorflow.Session;
import org.tensorflow.Tensor;
import org.tensorflow.TensorFlow;

public class FirstTensor {

    public static void main(String[] args) throws Exception {
        try (Graph g = new Graph()) {
            final String value = "Hello from " + TensorFlow.version();

            // Construct the computation graph with a single operation, a constant
            // named "MyConst" with a value "value".
            try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) {
                // The Java API doesn't yet include convenience functions for adding operations.
                g.opBuilder("Const", "MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build();
            }

            // Execute the "MyConst" operation in a Session.
            try (Session s = new Session(g);
                 Tensor output = s.runner().fetch("MyConst").run().get(0)) {
                System.out.println(new String(output.bytesValue(), "UTF-8"));
            }
        }
    }
}

結果

動きませんでした。。。。

原因は「ネイティブライブラリがありません」とエラーメッセージに書いてあります。

というわけで本題

本題というのは環境構築のことです。チュートリアルに従いセットアップを行います。

チュートリアルはこちらです。(Googleのサイトです)

結論からいうと「Mavenでインストールを行う。」らしいです。

じゃあやって見よう

まず、プロジェクトを作成するときに「Maven」で作成します。詳細はこちらを参照してください。

まずは、プロジェクトを作成したばかりの状態を下の図に示します。

そして「pom.xml」ファイルがあるのでそれを開きます。

上記のような感じで作成されています。「感じ」というのは内容が作成したプロジェクトの名前により値が変わる為そのように記載しました。

そして、<dependencies>タグを追加します。下のように多少入力すると補完してくれます。

下のように入力します。

ここからがTensorFlowのセットアップになります。

サイトに以下のような記載があります。

このような記載は、いろんなサイトであります。
これは「Maven」で「インストールできるよ」という意味です。

そんなわけで上記の記述をコピーしてペってやります。

すると上記のような吹き出しが見れますので下にある「Import Changes」をクリックします。※右下の吹き出しにあるリンクの左側。

すると下のようなインジケータが起動します。

TensorFlowのインストールが始まります。
結構長いです。。。

参考サイトにはこれだけと書いてあります。

インストール完了

早速、コードをコピって実行して見ました。

よし!

以上です。

駄菓子菓子。。。

TensorFlow Javaのチュートリアルは、PythonとかC++でTensorFlowについて理解のある人向け担っているようです。※先にPython, C++のドキュメントを呼んでくださいみたいな記述がありました。

pythonでの実行は、自分の好みの問題により見送ることにしてC++でやろうと思います。。。