يوفر TensorFlow واجهة برمجة تطبيقات Java — وهي مفيدة لتحميل النماذج التي تم إنشاؤها باستخدام Python وتشغيلها ضمن تطبيق Java.
حزم Java Libtensorflow الليلية
يتم إنشاء حزم Libtensorflow JNI ليلاً وتحميلها إلى GCS لجميع الأنظمة الأساسية المدعومة. يتم تحميلها إلى مجموعة GCS libtensorflow-nightly ويتم فهرستها حسب نظام التشغيل وتاريخ الإنشاء.
المنصات المدعومة
يتم دعم TensorFlow for Java على الأنظمة التالية:
- أوبونتو 16.04 أو أعلى؛ 64 بت، x86
- نظام التشغيل macOS 10.12.6 (سييرا) أو أعلى
- ويندوز 7 أو أعلى؛ 64 بت، x86
لاستخدام TensorFlow على Android، راجع TensorFlow Lite
TensorFlow مع أباتشي مافن
لاستخدام TensorFlow مع Apache Maven ، أضف التبعية إلى ملف pom.xml
الخاص بالمشروع:
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>tensorflow</artifactId>
<version>2.4.0</version>
</dependency>
دعم GPU
إذا كان نظامك يتمتع بدعم GPU ، فأضف تبعيات TensorFlow التالية إلى ملف pom.xml
الخاص بالمشروع:
<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>
برنامج المثال
يوضح هذا المثال كيفية إنشاء مشروع Apache Maven باستخدام TensorFlow. أولاً، أضف تبعية TensorFlow إلى ملف 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>
قم بإنشاء الملف المصدر ( 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"));
}
}
}
}
تجميع وتنفيذ:
mvn -q compile exec:java # Use -q to hide logging
مخرجات الأمر: Hello from version
TensorFlow مع JDK
يمكن استخدام TensorFlow مع JDK من خلال Java Native Interface (JNI).
تحميل
- قم بتنزيل أرشيف TensorFlow Jar (JAR): libtensorflow.jar
- قم بتنزيل واستخراج ملف Java Native Interface (JNI) لنظام التشغيل الخاص بك ودعم المعالج:
نسخة جي ان اي | عنوان URL |
---|---|
لينكس | |
وحدة المعالجة المركزية Linux فقط | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz |
دعم وحدة معالجة الرسومات الخاصة بنظام Linux | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-linux-x86_64-2.4.0.tar.gz |
ماك | |
وحدة المعالجة المركزية لنظام التشغيل MacOS فقط | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-darwin-x86_64-2.4.0.tar.gz |
ويندوز | |
وحدة المعالجة المركزية ويندوز فقط | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-windows-x86_64-2.4.0.zip |
دعم GPU ويندوز | https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-windows-x86_64-2.4.0.zip |
تجميع
باستخدام ملف HelloTensorFlow.java
من المثال السابق ، قم بتجميع برنامج يستخدم TensorFlow. تأكد من إمكانية الوصول إلى libtensorflow.jar
من خلال classpath
الخاص بك:
javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java
يجري
لتنفيذ برنامج TensorFlow Java، يجب على JVM الوصول إلى libtensorflow.jar
ومكتبة JNI المستخرجة.
لينكس / ماك
java -cp libtensorflow-2.4.0.jar:. -Djava.library.path=./jni HelloTensorFlow
ويندوز
java -cp libtensorflow-2.4.0.jar;. -Djava.library.path=jni HelloTensorFlow
مخرجات الأمر: Hello from version
البناء من المصدر
TensorFlow مفتوح المصدر. اقرأ التعليمات لإنشاء مكتبات Java والمكتبات الأصلية الخاصة بـ TensorFlow من التعليمات البرمجية المصدر.