ホーム » Java

Java」カテゴリーアーカイブ

TensorFlow : Install : TensorFlow for Java をインストールする

TensorFlow : Install : TensorFlow for Java をインストールする (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 04/29/2017

* 本ページは、TensorFlow の本家サイトの Install – Installing TensorFlow for Java を翻訳した上で
適宜、補足説明したものです:
    https://www.tensorflow.org/install/install_java
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

TensorFlow は Java プログラムでの使用のための API を提供しています。これらの API は特に Python で作成されたモデルをロードしたりそれらを Java アプリケーションで実行することに適合しています。このガイドはどのように TensorFlow for Java をインストールしてそれを Java アプリケーションで使用するかについて説明します。

警告 : TensorFlow Java API は TensorFlow API stability guarantees でカバーされていません。

 

サポートされるプラットフォーム

TensorFlow for Java は次のオペレーティング・システム上でサポートされます :

  • Linux
  • Mac OS X
  • Windows
  • Android

Android のためのインストール指示は別の Android TensorFlow Support page にあります。インストール後は TensorFlow on Android のこの complete example を見てください。

 

Maven プロジェクトで TensorFlow を使用する

貴方のプロジェクトが Apache Maven を使用しているならば、TensorFlow Java API を使用するには次をプロジェクトの pom.xml に追加します :


  org.tensorflow
  tensorflow
  1.1.0

That’s all.

サンプル

例として、これらのステップは TensorFlow を使用する Maven プロジェクトを作成します :

  1. プロジェクトの pom.xml を作成します :
     
         4.0.0
         org.myorg
         label-image
         1.0-SNAPSHOT
         
           HelloTF
           
           
           1.7
           1.7
         
         
           
             org.tensorflow
             tensorflow
             1.1.0
           
         
     
    
  2. ソースファイル (src/main/java/HelloTF.java) を作成します :
    import org.tensorflow.Graph;
    import org.tensorflow.Session;
    import org.tensorflow.Tensor;
    import org.tensorflow.TensorFlow;
    
    public class HelloTF {
      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"));
          }
        }
      }
    }
    
  3. コンパイルして実行します :
     # Use -q to hide logging from the mvn tool
     mvn -q compile exec:java
    

    (訳注 : 以下は実行結果です)

    $ mvn -q compile exec:java
    Hello from 1.1.0
    

先のコマンドは Hello from version を出力するはずです。もしそうであれば、貴方は TensorFlow for Java を成功的にセットアップしてそれを Maven プロジェクトで使用する準備ができています。そうでないならば、 可能な解法のために Stack Overflow をチェックしてください。このドキュメントの残りを読むのはスキップして良いです。(訳注: Maven 推奨という意味でしょう。)

 

TensorFlow を JDK で使用する

このセクションは JDK インストールから java と javac コマンドを使用してどのように TensorFlow を利用するかについて記述します。貴方のプロジェクトが Apache Maven を利用するならば、代わりに上記のより単純な指示を参照してください。

Linux または Mac OS 上のインストール

Linux か Mac OS 上で TensorFlow for Java をインストールするためには次のステップを取ります :

  1. libtensorflow.jar をダウンロードします、これは TensorFlow Java Archive (JAR) です。
  2. TensorFlow for Java を CPU(s) 上のみか GPU(s) の援助の上で実行するかを決めます。決定を助けるためには、次のガイドの一つの “Determine which TensorFlow to install” というタイトルのセクションを読んでください :
  3. 次のシェル・コマンドを実行して貴方のオペレーティング・システムとプロセッサ・サポートのための適切な Java Native Interface (JNI) ファイルをダウンロードして extract します :
     TF_TYPE="cpu" # Default processor is CPU. If you want GPU, set to "gpu"
     OS=$(uname -s | tr '[:upper:]' '[:lower:]')
     mkdir -p ./jni
     curl -L "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-${TF_TYPE}-${OS}-x86_64-1.1.0.tar.gz" | tar -xz -C ./jni
    

Windows 上のインストール

Windows 上で TensorFlow for Java をインストールするためには次のステップを取ります :

  1. libtensorflow.jar をダウンロードします、これは TensorFlow Java Archive (JAR) です。
  2. TensorFlow for Java on Windows のための適切な Java Native Interface (JNI) ファイルをダウンロードします。
  3. この .zip ファイルを extract します。

インストールを検証する

TensorFlow for Java をインストールした後、HelloTF.java という名前のファイルに次のコードを入力してインストールを検証します :

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

public class HelloTF {
  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"));
      }
    }
  }
}

そして下の指示を使用して HelloTF.java をコンパイルして実行します。

コンパイリング

TensorFlow を使用する Java プログラムをコンパイルする時は、ダウンロードされた .jar が classpath の一部でなければなりません。例えば、次のように -cp コンピレーション・フラグを使用することで classpath にダウンロードした .jar を含めることができます :

javac -cp libtensorflow-1.1.0.jar HelloTF.java

実行する

TensorFlow に依存する Java プログラムを実行するために、次の2つのファイルが JVM に対して利用可能であることを確かなものとします :

  • ダウンロードされた .jar ファイル
  • extract された JNI ライブラリ

例えば、次のコマンドは HelloTF プログラムを実行します :

java -cp libtensorflow-1.1.0.jar:. -Djava.library.path=./jni HelloTF

(訳注: 以下は実行結果です)

$ java -cp libtensorflow-1.1.0.jar:. -Djava.library.path=./jni HelloTF
Hello from 1.1.0

プログラムが Hello from version を出力すれば、貴方は TensorFlow for Java の成功的にセットアップして API を使用する準備ができています。もしプログラムが何か別のものを出力する場合は、可能な解法のために Stack Overflow をチェックしてください。

上級サンプル

より洗練されたサンプルのためには、LabelImage.java を見てください、これは画像の物体を認識します。

 

ソースコードからビルドする

TensorFlow はオープンソースです。別の文書 の指示に従えば TensorFlow ソースコードから TensorFlow for Java をビルドできます。

 

以上



AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com