Google I/O is a wrap! Catch up on TensorFlow sessions View sessions

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

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

रात Libtensorflow जावा संकुल

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

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

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

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

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

Apache Maven के साथ TensorFlow

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

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

GPU समर्थन

यदि आपके सिस्टम में 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 का उपयोग जावा मूल इंटरफ़ेस (JNI) के माध्यम से JDK के साथ किया जा सकता है।

डाउनलोड

  1. TensorFlow जार आर्काइव (JAR) डाउनलोड करें: libtensorflow.jar
  2. अपने ऑपरेटिंग सिस्टम और प्रोसेसर समर्थन के लिए जावा नेटिव इंटरफ़ेस (JNI) फ़ाइल डाउनलोड और निकालें:
जेएनआई संस्करण यूआरएल
लिनक्स
केवल लिनक्स सीपीयू https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-cpu-linux-x86_64-2.4.0.tar.gz
लिनक्स GPU सपोर्ट 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
Windows GPU समर्थन https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-gpu-windows-x86_64-2.4.0.zip

संकलन

पिछले उदाहरण से HelloTensorFlow.java फ़ाइल का उपयोग करके, HelloTensorFlow.java का उपयोग करने वाले प्रोग्राम को संकलित करें। सुनिश्चित करें कि libtensorflow.jar अपने लिए सुलभ है classpath :

javac -cp libtensorflow-2.4.0.jar HelloTensorFlow.java

Daud

TensorFlow Java प्रोग्राम को निष्पादित करने के लिए, JVM को libtensorflow.jar और एक्सट्रैक्टेड libtensorflow.jar लाइब्रेरी का उपयोग करना चाहिए।

लिनक्स / macOS

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 के जावा और देशी पुस्तकालयों के निर्माण के निर्देशों को पढ़ें।