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:
Gunakan tag skrip .
Instal dari NPM dan gunakan alat bantu pengembangan seperti Parcel , webpack , atau Rollup .
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:
- Simpan dokumen contoh tersebut dalam sebuah file bernama
index.html. Klik dua kali
index.htmluntuk membukanya di browser default Anda.Alternatifnya, Anda dapat menyajikan
index.htmldengan menjalankannpx http-serverdi direktori yang sama denganindex.html. (Jika Anda diminta izin untuk menginstalhttp-server, masukkany.) Kemudian bukahttp://localhost:8080di browser Anda.Buka konsol browser untuk melihat output dari skrip tersebut.
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.