Siapkan proyek TensorFlow.js

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

Pengaturan peramban

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

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

Gunakan tag skrip

Untuk mendapatkan TensorFlow.js menggunakan tag skrip, tambahkan kode berikut 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, ikuti langkah-langkah berikut:

  1. Simpan contoh dokumen dalam 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 .) Lalu buka http://localhost:8080 di browser Anda.

  3. Buka konsol browser untuk melihat keluaran skrip.

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

Instal dari NPM

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

NPM

npm install @tensorflow/tfjs

Benang

yarn add @tensorflow/tfjs

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

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 npm CLI atau benang untuk menyelesaikan salah satu opsi instalasi di bawah.

Untuk mempelajari lebih lanjut cara menggunakan 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++ asli.

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

Instal tfjs-node :

NPM

npm install @tensorflow/tfjs-node

Benang

yarn add @tensorflow/tfjs-node

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

// 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 meningkatkan 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 , menentukan model, dan melatih model.

// 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 , menentukan model, dan melatih model.

// 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}`)
  }
});

skrip ketikan

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