تثبيت TensorFlow لجافا

يوفر 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).

تحميل

  1. قم بتنزيل أرشيف TensorFlow Jar (JAR): libtensorflow.jar
  2. قم بتنزيل واستخراج ملف 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 من التعليمات البرمجية المصدر.