پروژه tfjs-node را روی پلتفرم ابری مستقر کنید

این سند نحوه اجرای یک فرآیند Node.js را با بسته @tensorflow/tfjs-node در پلتفرم‌های ابری توضیح می‌دهد.

با شروع از tfjs-node@1.2.4، اجرای پروژه Node.js روی پلتفرم های ابری نیازی به پیکربندی اضافی ندارد. این راهنما را نشان می دهد که چگونه برای اجرای MNIST گره به عنوان مثال در @ tensorflow / tfjs-نمونه در heroku و GCloud مخزن. پشتیبانی از Node.js Heroku است در این مستند مقاله . در حال اجرا از Node.js از سرویس Cloud Platform است مستند در اینجا .

پروژه Node.js را در Heroku مستقر کنید

پیش نیازها

  1. Node.js و npm نصب شده است
  2. اکانت هیروکو
  3. Heroku CLI

برنامه Node.js را ایجاد کنید

  1. ایجاد یک پوشه و کپی data.js ، main.js ، model.js و package.json فایل ها از MNIST گره به عنوان مثال.
  2. مطمئن شوید که وابستگی @tensorflow/tfjs-node 1.2.4@ یا نسخه جدیدتر باشد.

اپلیکیشن خود را بسازید و به صورت محلی اجرا کنید

  1. اجرای npm install فرمان در دایرکتوری محلی خود را برای نصب وابستگی است که در اعلام package.json فایل. باید بتوانید ببینید که بسته 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. مطمئن شوید که مصنوعات ساخت مانند node_modules را در فایل .gitignore خود نادیده می گیرید.

برنامه Heroku را ایجاد و اجرا کنید

  1. یک برنامه جدید در وب سایت Heroku ایجاد کنید
  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:

در گزارش‌های فرآیند در Heroku، باید بتوانید گزارش‌های آموزشی مدل را ببینید:

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

شما همچنین می توانید شروع و یا اشکال زدایی فرایند در Heroku کنسول .

استفاده از tfjs-node قبل از نسخه 1.2.4

اگر از بسته tfjs-node قبل از نسخه 1.2.4 استفاده می کنید، بسته به g++ برای کامپایل افزونه اصلی گره از فایل های منبع نیاز دارد. شما باید مطمئن شوید که پشته شما دارای بسته اصلی لینوکس است (ممکن است پشته نسخه جدیدتر آن را به صورت پیش فرض نداشته باشد).

پروژه Node.js را در Google Cloud Platform اجرا کنید

پیش نیازها

  1. یک پروژه Google Cloud معتبر با حساب صورت‌حساب داشته باشید
  2. نصب Google ابر ابزار مشتری
  3. اضافه کردن app.yaml فایل برای پیکربندی Node.js و در زمان اجرا

استقرار برنامه در GCloud

اجرا gcloud app deploy برای استقرار کد محلی و تنظیماتی را برای موتور App. در Deploy logs باید بتوانید ببینید که tfjs-node نصب شده است:

$ 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