नोड में TensorFlow.js

टेंसरफ्लो सीपीयू

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 के साथ GPU पर टेंसर संचालन चलाएगा और इस प्रकार केवल linux। यह बंधन अन्य बाध्यकारी विकल्पों की तुलना में कम से कम तीव्रता का क्रम हो सकता है।

वेनिला सीपीयू

वेनिला सीपीयू संचालन के साथ चलने वाले 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 , जो नोड-विशिष्ट एपीआई होते हैं।

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();