TensorFlow एक जावा एपीआई प्रदान करता है - जो पायथन के साथ बनाए गए मॉडल को लोड करने और उन्हें जावा एप्लिकेशन के भीतर चलाने के लिए उपयोगी है।
नाइटली लिबटेन्सरफ्लो जावा पैकेज
Libtensorflow JNI पैकेज प्रतिदिन रात में बनाए जाते हैं और सभी समर्थित प्लेटफॉर्म के लिए GCS पर अपलोड किए जाते हैं। इन्हें libtensorflow-nightly GCS बकेट में अपलोड किया जाता है और ऑपरेटिंग सिस्टम और निर्माण तिथि के अनुसार अनुक्रमित किया जाता है।
समर्थित प्लेटफ़ॉर्म
TensorFlow for Java निम्नलिखित सिस्टमों पर समर्थित है:
- Ubuntu 16.04 या उससे उच्चतर; 64-बिट, x86
- macOS 10.12.6 (सिएरा) या उच्चतर
- विंडोज 7 या उससे उच्चतर; 64-बिट, x86
एंड्रॉइड पर टेन्सरफ्लो का उपयोग करने के लिए टेन्सरफ्लो लाइट देखें।
अपाचे मेवन के साथ टेन्सरफ्लो
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 के साथ उपयोग किया जा सकता है।
डाउनलोड करना
- TensorFlow Jar आर्काइव (JAR) डाउनलोड करें: libtensorflow.jar
- अपने ऑपरेटिंग सिस्टम और प्रोसेसर के समर्थन के अनुसार जावा नेटिव इंटरफेस (JNI) फ़ाइल डाउनलोड करें और उसे एक्सट्रैक्ट करें:
| जेएनआई संस्करण | यूआरएल |
|---|---|
| लिनक्स | |
| केवल लिनक्स सीपीयू | 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 जावा प्रोग्राम को निष्पादित करने के लिए, 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 की जावा और नेटिव लाइब्रेरी बनाने के लिए दिए गए निर्देशों को पढ़ें।