TensorFlow, Python ile oluşturulan modelleri yüklemek ve bunları bir Java uygulaması içinde çalıştırmak için yararlı olan 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. Libtensorflow-nightly GCS paketine yüklenirler ve işletim sistemi ve oluşturulma tarihine göre dizine eklenirler .
Desteklenen Platformlar
Java için TensorFlow aşağıdaki sistemlerde desteklenmektedir:
- Ubuntu 16.04 veya üstü; 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. İlk olarak, TensorFlow bağımlılığını projenin pom.xml
dosyasına pom.xml
:
<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 Native Interface (JNI) aracılığıyla JDK ile birlikte kullanılabilir.
İndir
- TensorFlow Jar Arşivini (JAR) indirin: libtensorflow.jar
- İşletim sisteminiz ve işlemci desteğiniz için Java Native Interface (JNI) dosyasını indirin ve ayıklayın:
JNI versiyonu | URL |
---|---|
Linux | |
Yalnızca Linux CPU | 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 |
Mac os işletim sistemi | |
yalnızca macOS CPU | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz |
pencereler | |
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 |
Derleme
Önceki örnekteki HelloTensorFlow.java
dosyasını kullanarak HelloTensorFlow.java
kullanan bir program derleyin. libtensorflow.jar
classpath
libtensorflow.jar
için erişilebilir olduğundan emin olun:
javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java
Çalıştırmak
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
pencereler
java -cp libtensorflow-2.4.0.jar;. -Djava.library.path=jni HelloTensorFlow
Komutun çıktısı: Hello from version
Kaynaktan derleyin
TensorFlow açık kaynaktır. Kaynak koddan TensorFlow'un Java ve yerel kitaplıklarını oluşturma talimatlarını okuyun.