TensorFlow cung cấp API Java — hữu ích để tải các mô hình được tạo bằng Python và chạy chúng trong ứng dụng Java.
Các gói Java Libtensorflow hàng đêm
Các gói Libtensorflow JNI được xây dựng hàng đêm và tải lên GCS cho tất cả các nền tảng được hỗ trợ. Chúng được tải lên nhóm GCS libtensorflow-nightly và được lập chỉ mục theo hệ điều hành cũng như ngày tạo.
Nền tảng được hỗ trợ
TensorFlow cho Java được hỗ trợ trên các hệ thống sau:
- Ubuntu 16.04 trở lên; 64-bit, x86
- macOS 10.12.6 (Sierra) trở lên
- Windows 7 trở lên; 64-bit, x86
Để sử dụng TensorFlow trên Android, hãy xem TensorFlow Lite
TensorFlow với Apache Maven
Để sử dụng TensorFlow với Apache Maven , hãy thêm phần phụ thuộc vào tệp pom.xml
của dự án:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>2.4.0</version>
</dependency>
hỗ trợ GPU
Nếu hệ thống của bạn có hỗ trợ GPU , hãy thêm các phần phụ thuộc TensorFlow sau vào tệp pom.xml
của dự án:
<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>
Chương trình ví dụ
Ví dụ này cho thấy cách xây dựng dự án Apache Maven bằng TensorFlow. Đầu tiên, thêm phần phụ thuộc TensorFlow vào tệp pom.xml
của dự án:
<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>
Tạo tệp nguồn ( 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"));
}
}
}
}
Biên dịch và thực thi:
mvn -q compile exec:java # Use -q to hide logging
Lệnh xuất ra: Hello from version
TensorFlow với JDK
TensorFlow có thể được sử dụng với JDK thông qua Giao diện gốc Java (JNI).
Tải xuống
- Tải xuống Kho lưu trữ TensorFlow Jar (JAR): libtensorflow.jar
- Tải xuống và giải nén tệp Giao diện gốc Java (JNI) để hỗ trợ hệ điều hành và bộ xử lý của bạn:
Biên dịch
Sử dụng tệp HelloTensorFlow.java
từ ví dụ trước để biên dịch chương trình sử dụng TensorFlow. Đảm bảo libtensorflow.jar
có thể truy cập được vào classpath
của bạn:
javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java
Chạy
Để thực thi chương trình Java TensorFlow, JVM phải truy cập libtensorflow.jar
và thư viện JNI được trích xuất.
Linux/macOS
java -cp libtensorflow-2.4.0.jar:. -Djava.library.path=./jni HelloTensorFlow
cửa sổ
java -cp libtensorflow-2.4.0.jar;. -Djava.library.path=jni HelloTensorFlow
Lệnh xuất ra: Hello from version
Xây dựng từ nguồn
TensorFlow là nguồn mở. Đọc hướng dẫn xây dựng thư viện gốc và Java của TensorFlow từ mã nguồn.