क्लाउड प्लेटफ़ॉर्म पर tfjs-नोड प्रोजेक्ट परिनियोजित करें

यह दस्तावेज़ बताता है कि क्लाउड प्लेटफ़ॉर्म पर @tensorflow/tfjs-node पैकेज के साथ Node.js प्रक्रिया को कैसे चलाया जाए।

tfjs-node@1.2.4 से प्रारंभ करके, क्लाउड प्लेटफ़ॉर्म पर Node.js प्रोजेक्ट चलाने के लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं होती है। यह मार्गदर्शिका दिखाएगी कि हेरोकू और जीक्लाउड पर @tensorflow/tfjs-examples रिपॉजिटरी में mnist-नोड उदाहरण कैसे चलाया जाए। हेरोकू का Node.js समर्थन इस आलेख में प्रलेखित है। Google क्लाउड प्लेटफ़ॉर्म पर Node.js चलाना यहां प्रलेखित है।

हेरोकू पर Node.js प्रोजेक्ट परिनियोजित करें

आवश्यक शर्तें

  1. Node.js और npm स्थापित
  2. हेरोकू खाता
  3. हेरोकू सीएलआई

Node.js ऐप बनाएं

  1. एक फ़ोल्डर बनाएं और mnist-node उदाहरण से data.js , main.js , model.js और package.json फ़ाइलों को कॉपी करें।
  2. सुनिश्चित करें कि @tensorflow/tfjs-node निर्भरता @1.2.4 या नया संस्करण है।

अपना ऐप बनाएं और इसे स्थानीय रूप से चलाएं

  1. package.json फ़ाइल में घोषित निर्भरताएँ स्थापित करने के लिए अपनी स्थानीय निर्देशिका में npm install कमांड चलाएँ। आपको यह देखने में सक्षम होना चाहिए कि tfjs-node पैकेज स्थापित है और libtensorflow डाउनलोड हो गया है।
$ npm install
> @tensorflow/tfjs-node@1.2.5 install mnist-node/node_modules/@tensorflow/tfjs-node
> node scripts/install.js

CPU-linux-1.2.5.tar.gz
* Downloading libtensorflow
[==============================] 22675984/bps 100% 0.0s
* Building TensorFlow Node.js bindings
  1. npm start चलाकर मॉडल को स्थानीय रूप से प्रशिक्षित करें।
$ npm start
> tfjs-examples-mnist-node@0.1.0 start /mnist-node
> node main.js

2019-07-30 17:33:34.109195: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-30 17:33:34.147880: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3492175000 Hz
2019-07-30 17:33:34.149030: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x52f7090 executing computations on platform Host. Devices:
2019-07-30 17:33:34.149057: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): <undefined>, <undefined>

Total params: 594922
Trainable params: 594922
Non-trainable params: 0
_________________________________________________________________
Epoch 1 / 20
Epoch 1 / 20
========================>----------------------------------------------------------------------------------: 35.5
  1. सुनिश्चित करें कि आप अपनी .gitignore फ़ाइल में नोड_मॉड्यूल जैसी बिल्ड कलाकृतियों को अनदेखा कर दें।

हेरोकू ऐप बनाएं और तैनात करें

  1. हेरोकू वेबसाइट पर एक नया ऐप बनाएं
  2. अपना परिवर्तन प्रतिबद्ध करें और हरोकू मास्टर को पुश करें
$ git init
$ heroku git:remote -a your-app-name
$ git add .
$ git commit -m "First Commit"
$ git push heroku master
  1. बिल्ड लॉग में, आपको tfjs-node पैकेज को TensorFlow C लाइब्रेरी डाउनलोड करते हुए और TensorFlow Node.js नेटिव ऐडऑन लोड करते हुए देखने में सक्षम होना चाहिए:
remote: -----> Installing dependencies
remote:        Installing node modules (package.json)
remote:
remote:        > @tensorflow/tfjs-node@1.2.5 install /tmp/build_de800e169948787d84bcc2b9ccab23f0/node_modules/@tensorflow/tfjs-node
remote:        > node scripts/install.js
remote:
remote:        CPU-linux-1.2.5.tar.gz
remote:        * Downloading libtensorflow
remote:
remote:        * Building TensorFlow Node.js bindings
remote:        added 92 packages from 91 contributors and audited 171 packages in 9.983s
remote:        found 0 vulnerabilities
remote:

हेरोकू पर प्रक्रिया लॉग में, आपको मॉडल प्रशिक्षण लॉग देखने में सक्षम होना चाहिए:

Total params: 594922
Trainable params: 594922
Non-trainable params: 0
_________________________________________________________________
Epoch 1 / 20
Epoch 1 / 20
====>--------------------------------------------------------------------: 221.9

आप हेरोकू कंसोल में प्रक्रिया शुरू या डीबग भी कर सकते हैं।

संस्करण 1.2.4 से पहले tfjs-नोड का उपयोग करना

यदि आप संस्करण 1.2.4 से पहले tfjs-नोड पैकेज का उपयोग कर रहे हैं, तो पैकेज को स्रोत फ़ाइलों से नोड मूल ऐडऑन को संकलित करने के लिए g++ की आवश्यकता होती है। आपको यह सुनिश्चित करना होगा कि आपके स्टैक में लिनक्स बिल्ड-एसेंशियल पैकेज है (नए संस्करण स्टैक में यह डिफ़ॉल्ट रूप से नहीं हो सकता है)।

Google क्लाउड प्लेटफ़ॉर्म पर Node.js प्रोजेक्ट परिनियोजित करें

आवश्यक शर्तें

  1. बिलिंग खाते के साथ एक वैध Google क्लाउड प्रोजेक्ट रखें
  2. Google क्लाउड क्लाइंट टूल इंस्टॉल करें
  3. Node.js रनटाइम को कॉन्फ़िगर करने के लिए app.yaml फ़ाइल जोड़ें

ऐप को GCloud पर परिनियोजित करें

ऐप इंजन में स्थानीय कोड और कॉन्फ़िगरेशन को तैनात करने के लिए gcloud app deploy चलाएँ। परिनियोजन लॉग में आपको यह देखने में सक्षम होना चाहिए कि tfjs-नोड स्थापित है:

$ gcloud app deploy

Step #1:
Step #1: > @tensorflow/tfjs-node@1.2.5 install /app/node_modules/@tensorflow/tfjs-node
Step #1: > node scripts/install.js
Step #1:
Step #1: CPU-linux-1.2.5.tar.gz
Step #1: * Downloading libtensorflow
Step #1:
Step #1: * Building TensorFlow Node.js bindings
Step #1: added 88 packages from 85 contributors and audited 171 packages in 13.392s
Step #1: found 0 vulnerabilities

ऐप्स लॉग में, आपको मॉडल प्रशिक्षण प्रक्रिया देखने में सक्षम होना चाहिए:

Total params: 594922
Trainable params: 594922
Non-trainable params: 0

Epoch 1 / 20
===============================================================================>
745950ms 14626us/step - acc=0.920 loss=0.247 val_acc=0.987 val_loss=0.0445
Loss: 0.247 (train), 0.044 (val); Accuracy: 0.920 (train), 0.987 (val) (14.62 ms/step)
Epoch 2 / 20
===============================================================================>
818140ms 16042us/step - acc=0.980 loss=0.0655 val_acc=0.989 val_loss=0.0371
Loss: 0.066 (train), 0.037 (val); Accuracy: 0.980 (train), 0.989 (val) (16.04 ms/step)
Epoch 3 / 20
Epoch 3 / 20