يصف هذا المستند كيفية تشغيل عملية Node.js باستخدام حزمة @ tensorflow / tfjs-node على الأنظمة الأساسية السحابية.
بدءًا من tfjs-node@1.2.4 ، لا يتطلب تشغيل مشروع Node.js على الأنظمة الأساسية السحابية تكوينًا إضافيًا. وهذا دليل تظهر كيفية تشغيل mnist عقدة سبيل المثال في @ tensorflow / tfjs-أمثلة مستودع على Heroku وGCloud. يتم توثيق دعم نود.جي إس Heroku في هذا المقال . تشغيل نود.جي إس على نظام التشغيل السحابي جوجل تم توثيقه هنا .
انشر مشروع Node.js على Heroku
المتطلبات الأساسية
- تم تثبيت Node.js و npm
- حساب Heroku
- Heroku CLI
أنشئ تطبيق Node.js
- إنشاء مجلد ونسخ
data.js
،main.js
،model.js
وpackage.json
الملفات من mnist عقدة سبيل المثال. - تأكد من أن تبعية @ tensorflow / tfjs-node هي @ 1.2.4 أو إصدار أحدث.
أنشئ تطبيقك وقم بتشغيله محليًا
- تشغيل
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
- تدريب نموذج محليا عن طريق تشغيل
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
- تأكد من تجاهل عناصر البناء ، مثل node_modules ، في ملف .gitignore الخاص بك.
قم بإنشاء ونشر تطبيق Heroku
- قم بإنشاء تطبيق جديد على موقع Heroku الإلكتروني
- التزم بتغييرك وادفع إلى سيد heroku
$ git init
$ heroku git:remote -a your-app-name
$ git add .
$ git commit -m "First Commit"
$ git push heroku master
- في سجلات البناء ، يجب أن تكون قادرًا على رؤية حزمة 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 ++ لتجميع الملحق الأصلي للعقدة من الملفات المصدر. سيتعين عليك التأكد من أن المكدس الخاص بك يحتوي على حزمة Linux الأساسية للبناء (قد لا يكون الإصدار الأحدث موجودًا بشكل افتراضي).
انشر مشروع Node.js على Google Cloud Platform
المتطلبات الأساسية
- لديك مشروع Google Cloud صالح مع حساب الفوترة
- تثبيت Google الغيمة أداة عميل
- إضافة 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