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 sağlar.
Gecelik Libtensorflow Java paketleri
Libtensorflow JNI paketleri her gece oluşturulur ve desteklenen tüm platformlar için GCS'ye yüklenir. Bunlar , libtensorflow-nightly GCS grubuna yüklenir ve işletim sistemine ve oluşturulma tarihine göre dizine eklenir.
Desteklenen Platformlar
Java için TensorFlow aşağıdaki sistemlerde desteklenir:
- Ubuntu 16.04 veya üzeri; 64 bit, x86
- macOS 10.12.6 (Sierra) veya üzeri
- Windows 7 veya üzeri; 64 bit, x86
TensorFlow'u Android'de kullanmak için bkz. TensorFlow Lite
Apache Maven ile TensorFlow
TensorFlow'u Apache Maven ile kullanmak için bağımlılığı projenin pom.xml
dosyasına ekleyin:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>2.4.0</version>
</dependency>
GPU desteği
Sisteminizde GPU desteği varsa projenin pom.xml
dosyasına aşağıdaki TensorFlow bağımlılıklarını 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österir. Öncelikle TensorFlow bağımlılığını projenin pom.xml
dosyasına 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
Komut çı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 (JAR) indirin: libtensorflow.jar
- İşletim sisteminiz ve işlemci desteğiniz için Java Yerel Arayüzü (JNI) dosyasını indirin ve çıkarın:
JNI sürümü | URL'si |
---|---|
Linux | |
Yalnızca Linux CPU'su | 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 | |
Yalnızca macOS CPU | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz |
Windows | |
Yalnızca Windows CPU | 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
tarafından erişilebilir olduğundan emin olun:
javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java
Koşmak
Bir TensorFlow Java programını yürütmek için JVM'nin libtensorflow.jar
ve çıkarılan JNI kitaplığına 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
Komut çıktısı: Hello from version
Kaynaktan derle
TensorFlow açık kaynaktır. Kaynak kodundan TensorFlow'un Java ve yerel kitaplıklarını oluşturmaya yönelik talimatları okuyun.