Siapkan proyek TensorFlow.js

Dokumen ini menunjukkan cara menginstal dan menggunakan TensorFlow.js di lingkungan browser dan di Node.js.

Pengaturan browser

Ada dua cara yang direkomendasikan untuk menggunakan TensorFlow.js dalam proyek berbasis browser:

Jika Anda baru mengenal pengembangan web, atau belum pernah menggunakan alat bantu pembuatan JavaScript sebelumnya, Anda mungkin ingin mencoba pendekatan tag skrip terlebih dahulu. Jika Anda biasanya menggabungkan atau memproses aset web Anda, atau berencana untuk menulis aplikasi yang lebih besar, Anda harus mempertimbangkan untuk menggunakan alat bantu pembuatan.

Gunakan tag skrip

Untuk mendapatkan TensorFlow.js menggunakan tag skrip, tambahkan yang berikut ini ke file HTML utama Anda:

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>

Contoh berikut menunjukkan cara mendefinisikan dan melatih model di browser:

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8" />
    <title>TensorFlow.js browser example</title>

    <!-- Load TensorFlow.js from a script tag -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
  </head>
  <body>
    <h1>TensorFlow.js example</h1>
    <h2>Open the console to see the results.</h2>
    <script>
    // Define a model for linear regression. The script tag makes `tf` available
    // as a global variable.
    const model = tf.sequential();
    model.add(tf.layers.dense({units: 1, inputShape: [1]}));

    model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

    // Generate some synthetic data for training.
    const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
    const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

    // Train the model using the data.
    model.fit(xs, ys, {epochs: 10}).then(() => {
      // Use the model to do inference on a data point the model hasn't seen before:
      model.predict(tf.tensor2d([5], [1, 1])).print();
      // Open the browser devtools to see the output
    });
    </script>
  </body>
</html>

Untuk menjalankan contoh tersebut, ikuti langkah-langkah berikut:

  1. Simpan dokumen contoh tersebut dalam sebuah file bernama index.html .
  2. Klik dua kali index.html untuk membukanya di browser default Anda.

    Alternatifnya, Anda dapat menyajikan index.html dengan menjalankan npx http-server di direktori yang sama dengan index.html . (Jika Anda diminta izin untuk menginstal http-server , masukkan y .) Kemudian buka http://localhost:8080 di browser Anda.

  3. Buka konsol browser untuk melihat output dari skrip tersebut.

  4. Segarkan halaman untuk melihat prediksi baru (dan kemungkinan besar berbeda).

Instal dari NPM

Untuk menginstal TensorFlow.js dari NPM, gunakan CLI npm atau yarn .

NPM

npm install @tensorflow/tfjs

Benang

yarn add @tensorflow/tfjs

Contoh berikut menunjukkan cara mengimpor TensorFlow.js, mendefinisikan model, dan melatih model tersebut.

import * as tf from '@tensorflow/tfjs';

// Define a model for linear regression.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

// Generate some synthetic data for training.
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

// Train the model using the data.
model.fit(xs, ys, {epochs: 10}).then(() => {
  // Use the model to do inference on a data point the model hasn't seen before:
  model.predict(tf.tensor2d([5], [1, 1])).print();
  // Open the browser devtools to see the output
});

Pengaturan Node.js

Untuk menggunakan TensorFlow.js di Node.js, gunakan CLI npm atau yarn untuk menyelesaikan salah satu opsi instalasi di bawah ini.

Untuk mempelajari lebih lanjut tentang penggunaan TensorFlow.js di Node.js, lihat panduan Node.js. Untuk informasi instalasi tambahan, lihat repositori TensorFlow.js untuk Node.js.

Opsi 1: Instal TensorFlow.js dengan binding C++ native.

Modul tfjs-node menyediakan eksekusi TensorFlow asli dalam aplikasi JavaScript di bawah runtime Node.js, yang dipercepat oleh biner C TensorFlow.

Instal tfjs-node :

NPM

npm install @tensorflow/tfjs-node

Benang

yarn add @tensorflow/tfjs-node

Contoh berikut menunjukkan cara mengimpor tfjs-node , mendefinisikan model, dan melatih model tersebut.

// Use `tfjs-node`. Note that `tfjs` is imported indirectly by `tfjs-node`.
const tf = require('@tensorflow/tfjs-node');

// Define a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [10]}));
model.add(tf.layers.dense({units: 1, activation: 'linear'}));
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

const xs = tf.randomNormal([100, 10]);
const ys = tf.randomNormal([100, 1]);

// Train the model.
model.fit(xs, ys, {
  epochs: 100,
  callbacks: {
    onEpochEnd: (epoch, log) => console.log(`Epoch ${epoch}: loss = ${log.loss}`)
  }
});

Opsi 2: Instal TensorFlow.js untuk GPU

(Khusus Linux) Jika sistem Anda memiliki GPU NVIDIA® dengan dukungan CUDA , Anda dapat menggunakan paket GPU untuk peningkatan kinerja.

Instal tfjs-node-gpu :

NPM

npm install @tensorflow/tfjs-node-gpu

Benang

yarn add @tensorflow/tfjs-node-gpu

Contoh berikut menunjukkan cara mengimpor tfjs-node-gpu , mendefinisikan model, dan melatih model tersebut.

// Use `tfjs-node-gpu`. Note that `tfjs` is imported indirectly by `tfjs-node-gpu`.
const tf = require('@tensorflow/tfjs-node-gpu');

// Define a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [10]}));
model.add(tf.layers.dense({units: 1, activation: 'linear'}));
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

const xs = tf.randomNormal([100, 10]);
const ys = tf.randomNormal([100, 1]);

// Train the model.
model.fit(xs, ys, {
  epochs: 100,
  callbacks: {
    onEpochEnd: (epoch, log) => console.log(`Epoch ${epoch}: loss = ${log.loss}`)
  }
});

Opsi 3: Instal versi JavaScript murni

Modul tfjs adalah paket yang sama yang Anda gunakan di browser. Ini adalah opsi Node.js yang paling lambat dalam hal kinerja.

Instal tfjs :

NPM

npm install @tensorflow/tfjs

Benang

yarn add @tensorflow/tfjs

Contoh berikut menunjukkan cara mengimpor tfjs , mendefinisikan model, dan melatih model tersebut.

// Use `tfjs`.
const tf = require('@tensorflow/tfjs');

// Define a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [10]}));
model.add(tf.layers.dense({units: 1, activation: 'linear'}));
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

const xs = tf.randomNormal([100, 10]);
const ys = tf.randomNormal([100, 1]);

// Train the model.
model.fit(xs, ys, {
  epochs: 100,
  callbacks: {
    onEpochEnd: (epoch, log) => console.log(`Epoch ${epoch}: loss = ${log.loss}`)
  }
});

TypeScript

Jika Anda menggunakan TensorFlow.js dalam proyek TypeScript, dan Anda mengaktifkan pengecekan null yang ketat, Anda mungkin perlu mengatur skipLibCheck: true di tsconfig.json Anda untuk menghindari kesalahan selama kompilasi.