Terapkan proyek tfjs-node di platform cloud

Dokumen ini menjelaskan cara menjalankan proses Node.js dengan paket @tensorflow/tfjs-node di platform cloud.

Mulai dari tfjs-node@1.2.4, menjalankan proyek Node.js di platform cloud tidak memerlukan konfigurasi tambahan. Panduan ini akan menunjukkan bagaimana menjalankan mnist-simpul contoh di @ tensorflow / tfjs-contoh repositori pada Heroku dan GCloud. Dukungan Node.js Heroku ini didokumentasikan dalam ini artikel . Menjalankan Node.js di Google Cloud Platform didokumentasikan di sini .

Terapkan proyek Node.js di Heroku

Prasyarat

  1. Node.js dan npm diinstal
  2. Akun Heroku
  3. Heroku CLI

Buat aplikasi Node.js

  1. Membuat folder dan menyalin data.js , main.js , model.js dan package.json file dari mnist-node misalnya.
  2. Pastikan ketergantungan @tensorflow/tfjs-node adalah @1.2.4 atau versi yang lebih baru.

Bangun aplikasi Anda dan jalankan secara lokal

  1. Jalankan npm install perintah dalam direktori lokal Anda untuk menginstal dependensi yang dinyatakan dalam package.json berkas. Anda seharusnya dapat melihat bahwa paket tfjs-node telah diinstal dan libtensorflow telah diunduh.
$ 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. Melatih model lokal dengan menjalankan 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. Pastikan Anda mengabaikan artefak build, seperti node_modules, di file .gitignore Anda.

Buat dan gunakan aplikasi Heroku

  1. Buat aplikasi baru di situs web Heroku
  2. Komit perubahan Anda dan dorong ke master heroku
$ git init
$ heroku git:remote -a your-app-name
$ git add .
$ git commit -m "First Commit"
$ git push heroku master
  1. Di log build, Anda seharusnya dapat melihat paket tfjs-node yang mendownload TensorFlow C Library dan memuat addon asli 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:

Dalam log proses di Heroku, Anda seharusnya dapat melihat log pelatihan model:

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

Anda juga dapat memulai atau debug proses di Heroku konsol .

Menggunakan tfjs-node sebelum versi 1.2.4

Jika Anda menggunakan paket tfjs-node sebelum versi 1.2.4, paket tersebut memerlukan g++ untuk mengkompilasi addon asli node dari file sumber. Anda harus memastikan tumpukan Anda memiliki paket Linux build-essential (tumpukan versi yang lebih baru mungkin tidak memilikinya secara default).

Terapkan proyek Node.js di Google Cloud Platform

Prasyarat

  1. Miliki Proyek Google Cloud yang valid dengan akun penagihan
  2. Pasang Google Cloud alat klien
  3. Menambahkan file app.yaml untuk mengkonfigurasi Node.js Runtime

Terapkan aplikasi ke GCloud

Jalankan gcloud app deploy untuk menyebarkan kode lokal dan konfigurasi untuk App Engine. Dalam log penyebaran, Anda harus dapat melihat bahwa tfjs-node diinstal:

$ 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

Di log aplikasi, Anda seharusnya dapat melihat proses pelatihan model:

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