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 के साथ किया जा सकता है।
डाउनलोड करना
- TensorFlow Jar Archive (JAR) डाउनलोड करें: libtensorflow.jar
- अपने ऑपरेटिंग सिस्टम और प्रोसेसर समर्थन के लिए जावा नेटिव इंटरफ़ेस (जेएनआई) फ़ाइल डाउनलोड करें और निकालें:
जेएनआई संस्करण | यूआरएल |
---|---|
लिनक्स | |
केवल लिनक्स सीपीयू | 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 की जावा और मूल लाइब्रेरी बनाने के निर्देश पढ़ें।