TensorFlow, Python ile oluşturulan modelleri yüklemek ve bunları bir Java uygulaması içinde çalıştırmak için kullanışlı bir Java API'si sunar.
Geceleyin yayınlanan Libtensorflow Java paketleri
Libtensorflow JNI paketleri her gece derlenir ve desteklenen tüm platformlar için GCS'ye yüklenir. Bu paketler libtensorflow-nightly GCS kovasına yüklenir ve işletim sistemi ve derleme tarihine göre indekslenir.
Desteklenen Platformlar
TensorFlow for Java aşağıdaki sistemlerde desteklenmektedir:
- Ubuntu 16.04 veya üzeri; 64 bit, x86
- macOS 10.12.6 (Sierra) veya üzeri
- Windows 7 veya üzeri; 64 bit, x86
Android'de TensorFlow kullanmak için TensorFlow Lite'a bakın.
Apache Maven ile TensorFlow
TensorFlow'u Apache Maven ile kullanmak için, projenizin pom.xml dosyasına aşağıdaki bağımlılığı ekleyin:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>2.4.0</version>
</dependency>
GPU desteği
Sisteminizde GPU desteği varsa, aşağıdaki TensorFlow bağımlılıklarını projenin pom.xml dosyasına ekleyin:
<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>
Örnek program
Bu örnek, TensorFlow ile bir Apache Maven projesinin nasıl oluşturulacağını göstermektedir. Öncelikle, projenin pom.xml dosyasına TensorFlow bağımlılığını ekleyin:
<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>
Kaynak dosyayı oluşturun ( 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"));
}
}
}
}
Derleyin ve çalıştırın:
mvn -q compile exec:java # Use -q to hide logging
Komutun çıktısı: Hello from version
JDK ile TensorFlow
TensorFlow, Java Yerel Arayüzü (JNI) aracılığıyla JDK ile birlikte kullanılabilir.
İndirmek
- TensorFlow JAR arşivini ( libtensorflow.jar ) indirin.
- İşletim sisteminiz ve işlemcinizin desteklediği Java Yerel Arayüzü (JNI) dosyasını indirin ve çıkarın:
| JNI sürümü | URL |
|---|---|
| Linux | |
| Linux CPU yalnızca | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz |
| Linux GPU desteği | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-linux-x86_64-2.4.0.tar.gz |
| macOS | |
| macOS işlemcisi yalnızca | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz |
| Windows | |
| Yalnızca Windows CPU'su | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-windows-x86_64-2.4.0.zip |
| Windows GPU desteği | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-windows-x86_64-2.4.0.zip |
Derle
Önceki örnekteki HelloTensorFlow.java dosyasını kullanarak TensorFlow kullanan bir program derleyin. libtensorflow.jar dosyasının classpath erişilebilir olduğundan emin olun:
javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java
Koşmak
Bir TensorFlow Java programını çalıştırmak için, JVM'nin libtensorflow.jar ve çıkarılan JNI kütüphanesine erişmesi gerekir.
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
Komutun çıktısı: Hello from version
Kaynak koddan derle
TensorFlow açık kaynaklıdır. TensorFlow'un Java ve yerel kütüphanelerini kaynak koddan derlemek için talimatları okuyun.