TensorFlow menyediakan API Java — berguna untuk memuat model yang dibuat dengan Python dan menjalankannya di dalam aplikasi Java.
Paket Java Libtensorflow harian
Paket JNI Libtensorflow dibuat setiap malam dan diunggah ke GCS untuk semua platform yang didukung. Paket-paket tersebut 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 Anda:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>2.4.0</version>
</dependency>
Dukungan GPU
Jika sistem Anda mendukung GPU , tambahkan dependensi TensorFlow berikut ke file pom.xml proyek Anda:
<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
Output perintahnya adalah: Hello from version
TensorFlow dengan JDK
TensorFlow dapat digunakan dengan JDK melalui Java Native Interface (JNI).
Unduh
- Unduh arsip JAR (JAR) TensorFlow: libtensorflow.jar
- Unduh dan ekstrak file Java Native Interface (JNI) yang sesuai dengan sistem operasi dan dukungan prosesor Anda:
Menyusun
Dengan 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 pustaka JNI yang telah 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
Output perintahnya adalah: Hello from version
Membangun dari sumber
TensorFlow adalah perangkat lunak sumber terbuka. Baca petunjuk untuk membangun pustaka Java dan pustaka native TensorFlow dari kode sumber.