Thanks for tuning in to Google I/O. View all sessions on demandWatch on demand

Instal TensorFlow untuk Java, Instal TensorFlow untuk Java

TensorFlow menyediakan Java API — berguna untuk memuat model yang dibuat dengan Python dan menjalankannya dalam aplikasi Java.

Paket Java Libtensorflow Nightly

Paket JNI Libtensorflow dibuat setiap malam dan diunggah ke GCS untuk semua platform yang didukung. Mereka diunggah ke bucket GCS libtensorflow-nightly dan diindeks berdasarkan sistem operasi dan tanggal pembuatan.

Platform yang Didukung

TensorFlow untuk Java didukung pada sistem berikut:

  • Ubuntu 16.04 atau lebih tinggi; 64-bit, x86
  • macOS 10.12.6 (Sierra) atau lebih tinggi
  • Windows 7 atau lebih tinggi; 64-bit, x86

Untuk menggunakan TensorFlow di Android, lihat TensorFlow Lite

TensorFlow dengan Apache Maven

Untuk menggunakan TensorFlow dengan Apache Maven , tambahkan dependensi ke file pom.xml proyek:

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

Dukungan GPU

Jika sistem Anda memiliki dukungan GPU , tambahkan dependensi TensorFlow berikut ke file pom.xml proyek:

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow</artifactId>
  <version>2.4.0</version>
</dependency>
<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow_jni_gpu</artifactId>
  <version>2.4.0</version>
</dependency>

Contoh program

Contoh ini menunjukkan cara membangun proyek Apache Maven dengan TensorFlow. Pertama, tambahkan dependensi TensorFlow ke file pom.xml proyek:

<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>

Buat file sumber ( src/main/java/HelloTensorFlow.java ):

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

public class HelloTensorFlow {
  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);
          // Generally, there may be multiple output tensors,
          // all of them must be closed to prevent resource leaks.
          Tensor output = s.runner().fetch("MyConst").run().get(0)) {
        System.out.println(new String(output.bytesValue(), "UTF-8"));
      }
    }
  }
}

Kompilasi dan jalankan:

mvn -q compile exec:java  # Use -q to hide logging

Keluaran perintah: Hello from version

TensorFlow dengan JDK

TensorFlow dapat digunakan dengan JDK melalui Java Native Interface (JNI).

Unduh

  1. Unduh TensorFlow Jar Archive (JAR): libtensorflow.jar
  2. Unduh dan ekstrak file Java Native Interface (JNI) untuk dukungan sistem operasi dan prosesor Anda:
versi JNI URL
Linux
CPU Linux saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz
Dukungan GPU Linux https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-linux-x86_64-2.4.0.tar.gz
macOS
CPU macOS saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz
Windows
CPU Windows saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-windows-x86_64-2.4.0.zip
Dukungan GPU Windows https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-windows-x86_64-2.4.0.zip

Menyusun

Menggunakan file HelloTensorFlow.java dari contoh sebelumnya , kompilasi program yang menggunakan TensorFlow. Pastikan libtensorflow.jar dapat diakses oleh classpath Anda:

javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java

Berlari

Untuk menjalankan program Java TensorFlow, JVM harus mengakses libtensorflow.jar dan library JNI yang diekstrak.

Linux / macOS

java -cp libtensorflow-2.4.0.jar:. -Djava.library.path=./jni HelloTensorFlow

Windows

java -cp libtensorflow-2.4.0.jar;. -Djava.library.path=jni HelloTensorFlow

Keluaran perintah: Hello from version

Membangun dari sumber

TensorFlow adalah sumber terbuka. Baca petunjuk untuk mem-build library Java dan native TensorFlow dari kode sumber.

,

TensorFlow menyediakan Java API — berguna untuk memuat model yang dibuat dengan Python dan menjalankannya dalam aplikasi Java.

Paket Java Libtensorflow Nightly

Paket JNI Libtensorflow dibuat setiap malam dan diunggah ke GCS untuk semua platform yang didukung. Mereka diunggah ke bucket GCS libtensorflow-nightly dan diindeks berdasarkan sistem operasi dan tanggal pembuatan.

Platform yang Didukung

TensorFlow untuk Java didukung pada sistem berikut:

  • Ubuntu 16.04 atau lebih tinggi; 64-bit, x86
  • macOS 10.12.6 (Sierra) atau lebih tinggi
  • Windows 7 atau lebih tinggi; 64-bit, x86

Untuk menggunakan TensorFlow di Android, lihat TensorFlow Lite

TensorFlow dengan Apache Maven

Untuk menggunakan TensorFlow dengan Apache Maven , tambahkan dependensi ke file pom.xml proyek:

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

Dukungan GPU

Jika sistem Anda memiliki dukungan GPU , tambahkan dependensi TensorFlow berikut ke file pom.xml proyek:

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow</artifactId>
  <version>2.4.0</version>
</dependency>
<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow_jni_gpu</artifactId>
  <version>2.4.0</version>
</dependency>

Contoh program

Contoh ini menunjukkan cara membangun proyek Apache Maven dengan TensorFlow. Pertama, tambahkan dependensi TensorFlow ke file pom.xml proyek:

<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>

Buat file sumber ( src/main/java/HelloTensorFlow.java ):

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

public class HelloTensorFlow {
  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);
          // Generally, there may be multiple output tensors,
          // all of them must be closed to prevent resource leaks.
          Tensor output = s.runner().fetch("MyConst").run().get(0)) {
        System.out.println(new String(output.bytesValue(), "UTF-8"));
      }
    }
  }
}

Kompilasi dan jalankan:

mvn -q compile exec:java  # Use -q to hide logging

Keluaran perintah: Hello from version

TensorFlow dengan JDK

TensorFlow dapat digunakan dengan JDK melalui Java Native Interface (JNI).

Unduh

  1. Unduh TensorFlow Jar Archive (JAR): libtensorflow.jar
  2. Unduh dan ekstrak file Java Native Interface (JNI) untuk dukungan sistem operasi dan prosesor Anda:
versi JNI URL
Linux
CPU Linux saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz
Dukungan GPU Linux https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-linux-x86_64-2.4.0.tar.gz
macOS
CPU macOS saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz
Windows
CPU Windows saja https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-windows-x86_64-2.4.0.zip
Dukungan GPU Windows https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-windows-x86_64-2.4.0.zip

Menyusun

Menggunakan file HelloTensorFlow.java dari contoh sebelumnya , kompilasi program yang menggunakan TensorFlow. Pastikan libtensorflow.jar dapat diakses oleh classpath Anda:

javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java

Berlari

Untuk menjalankan program Java TensorFlow, JVM harus mengakses libtensorflow.jar dan library JNI yang diekstrak.

Linux / macOS

java -cp libtensorflow-2.4.0.jar:. -Djava.library.path=./jni HelloTensorFlow

Windows

java -cp libtensorflow-2.4.0.jar;. -Djava.library.path=jni HelloTensorFlow

Keluaran perintah: Hello from version

Membangun dari sumber

TensorFlow adalah sumber terbuka. Baca petunjuk untuk mem-build library Java dan native TensorFlow dari kode sumber.