टेंसरफ्लो सीपीयू
TensorFlow CPU पैकेज को निम्नानुसार आयात किया जा सकता है:
import * as tf from '@tensorflow/tfjs-node'
इस पैकेज से TensorFlow.js आयात करते समय, आपको मिलने वाला मॉड्यूल TensorFlow C बाइनरी द्वारा त्वरित किया जाएगा और CPU पर चलेगा। CPU पर TensorFlow हुड के नीचे रैखिक बीजगणित गणना में तेजी लाने के लिए हार्डवेयर त्वरण का उपयोग करता है।
यह पैकेज Linux, Windows और Mac प्लेटफॉर्म पर काम करेगा जहां TensorFlow समर्थित है।
टेंसरफ्लो जीपीयू
TensorFlow GPU पैकेज को निम्नानुसार आयात किया जा सकता है:
import * as tf from '@tensorflow/tfjs-node-gpu'
CPU पैकेज की तरह, आपको मिलने वाला मॉड्यूल TensorFlow C बाइनरी द्वारा त्वरित किया जाएगा, हालाँकि यह CUDA और इस प्रकार केवल linux के साथ GPU पर टेंसर संचालन चलाएगा। यह बंधन अन्य बाध्यकारी विकल्पों की तुलना में कम से कम परिमाण का एक क्रम तेज हो सकता है।
वेनिला सीपीयू
वेनिला CPU संचालन के साथ चलने वाले TensorFlow.js के संस्करण को निम्नानुसार आयात किया जा सकता है:
import * as tf from '@tensorflow/tfjs'
यह पैकेज वही पैकेज है जो आप ब्राउज़र में उपयोग करेंगे। इस पैकेज में सीपीयू पर वैनिला जावास्क्रिप्ट में ऑपरेशन चलाए जाते हैं। यह पैकेज दूसरों की तुलना में बहुत छोटा है क्योंकि इसे TensorFlow बाइनरी की आवश्यकता नहीं है, हालाँकि यह बहुत धीमा है।
चूंकि यह पैकेज TensorFlow पर निर्भर नहीं करता है, इसलिए इसे केवल Linux, Windows और Mac की तुलना में Node.js का समर्थन करने वाले अधिक उपकरणों में उपयोग किया जा सकता है।
उत्पादन विचार
Node.js बाइंडिंग TensorFlow.js के लिए एक बैकएंड प्रदान करता है जो संचालन को समकालिक रूप से लागू करता है। इसका मतलब है कि जब आप किसी ऑपरेशन को कॉल करते हैं, जैसे tf.matMul(a, b)
, तो यह ऑपरेशन पूरा होने तक मुख्य थ्रेड को ब्लॉक कर देगा।
इस कारण से, बाइंडिंग वर्तमान में स्क्रिप्ट और ऑफ़लाइन कार्यों के लिए उपयुक्त हैं। यदि आप वेबसर्वर की तरह किसी प्रोडक्शन एप्लिकेशन में Node.js बाइंडिंग का उपयोग करना चाहते हैं, तो आपको एक जॉब क्यू सेट करना चाहिए या वर्कर थ्रेड्स सेट करना चाहिए ताकि आपका TensorFlow.js कोड मुख्य थ्रेड को ब्लॉक न करे।
शहद की मक्खी
एक बार जब आप उपरोक्त किसी भी विकल्प में पैकेज को tf के रूप में आयात करते हैं, तो सभी सामान्य TensorFlow.js प्रतीक आयातित मॉड्यूल पर दिखाई देंगे।
tf.ब्राउज़र
सामान्य TensorFlow.js पैकेज में, tf.browser.*
नामस्थान में प्रतीक Node.js में उपयोग करने योग्य नहीं होंगे क्योंकि वे ब्राउज़र-विशिष्ट API का उपयोग करते हैं।
वर्तमान में, ये हैं:
- tf.ब्राउज़र.पिक्सेल से
- tf.browser.toPixels
tf.नोड
दो Node.js पैकेज एक नाम स्थान, tf.node
भी प्रदान करते हैं, जिसमें नोड-विशिष्ट API होते हैं।
TensorBoard Node.js- विशिष्ट API का एक उल्लेखनीय उदाहरण है।
Node.js में TensorBoard को सारांश निर्यात करने का एक उदाहरण:
const model = tf.sequential();
model.add(tf.layers.dense({ units: 1, inputShape: [200] }));
model.compile({
loss: 'meanSquaredError',
optimizer: 'sgd',
metrics: ['MAE']
});
// Generate some random fake data for demo purpose.
const xs = tf.randomUniform([10000, 200]);
const ys = tf.randomUniform([10000, 1]);
const valXs = tf.randomUniform([1000, 200]);
const valYs = tf.randomUniform([1000, 1]);
// Start model training process.
async function train() {
await model.fit(xs, ys, {
epochs: 100,
validationData: [valXs, valYs],
// Add the tensorBoard callback here.
callbacks: tf.node.tensorBoard('/tmp/fit_logs_1')
});
}
train();