जावा के लिए TensorFlow स्थापित करें

TensorFlow एक जावा एपीआई प्रदान करता है - जो पायथन के साथ बनाए गए मॉडल को लोड करने और उन्हें जावा एप्लिकेशन के भीतर चलाने के लिए उपयोगी है।

रात्रिकालीन लिबटेन्सरफ्लो जावा पैकेज

लिबटेन्सरफ्लो जेएनआई पैकेज रात में बनाए जाते हैं और सभी समर्थित प्लेटफार्मों के लिए जीसीएस पर अपलोड किए जाते हैं। उन्हें libtensorflow-nightly GCS बकेट में अपलोड किया जाता है और ऑपरेटिंग सिस्टम और निर्मित तिथि के अनुसार अनुक्रमित किया जाता है।

समर्थित प्लेटफार्म

जावा के लिए TensorFlow निम्नलिखित सिस्टम पर समर्थित है:

  • उबंटू 16.04 या उच्चतर; 64-बिट, x86
  • macOS 10.12.6 (सिएरा) या उच्चतर
  • विंडोज 7 या उच्चतर; 64-बिट, x86

Android पर TensorFlow का उपयोग करने के लिए TensorFlow Lite देखें

अपाचे मावेन के साथ टेंसरफ्लो

Apache Maven के साथ TensorFlow का उपयोग करने के लिए, प्रोजेक्ट की pom.xml फ़ाइल में निर्भरता जोड़ें:

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow</artifactId>
  <version>2.4.0</version>
</dependency>

जीपीयू समर्थन

यदि आपके सिस्टम में GPU समर्थन है, तो प्रोजेक्ट की pom.xml फ़ाइल में निम्नलिखित TensorFlow निर्भरताएँ जोड़ें:

<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>

उदाहरण कार्यक्रम

यह उदाहरण दिखाता है कि TensorFlow के साथ Apache Maven प्रोजेक्ट कैसे बनाया जाए। सबसे पहले, प्रोजेक्ट की pom.xml फ़ाइल में TensorFlow निर्भरता जोड़ें:

<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

JDK के साथ TensorFlow

TensorFlow का उपयोग Java Native Interface (JNI) के माध्यम से JDK के साथ किया जा सकता है।

डाउनलोड करना

  1. TensorFlow Jar Archive (JAR) डाउनलोड करें: libtensorflow.jar
  2. अपने ऑपरेटिंग सिस्टम और प्रोसेसर समर्थन के लिए जावा नेटिव इंटरफ़ेस (जेएनआई) फ़ाइल डाउनलोड करें और निकालें:
जेएनआई संस्करण यूआरएल
लिनक्स
केवल लिनक्स सीपीयू https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz
लिनक्स जीपीयू समर्थन https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-linux-x86_64-2.4.0.tar.gz
मैक ओएस
केवल macOS CPU 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
विंडोज़ जीपीयू समर्थन 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 खुला स्रोत है। स्रोत कोड से TensorFlow की जावा और मूल लाइब्रेरी बनाने के निर्देश पढ़ें।