Ce document vous montre comment installer et utiliser TensorFlow.js dans un environnement de navigateur et dans Node.js.
Configuration du navigateur
Il existe deux manières recommandées d'utiliser TensorFlow.js dans un projet basé sur un navigateur :
Utilisez une balise de script .
Installez à partir de NPM et utilisez un outil de construction tel que Parcel , webpack ou Rollup .
Si vous débutez dans le développement Web ou si vous n'avez jamais utilisé d'outils de création JavaScript auparavant, vous souhaiterez peut-être d'abord essayer l'approche des balises de script. Si vous regroupez ou traitez habituellement vos ressources Web, ou si vous envisagez d'écrire des applications plus volumineuses, vous devriez envisager d'utiliser des outils de création.
Utiliser une balise de script
Pour obtenir TensorFlow.js à l'aide d'une balise de script, ajoutez ce qui suit à votre fichier HTML principal :
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
L'exemple suivant montre comment définir et entraîner un modèle dans le navigateur :
<!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>
Pour exécuter l'exemple, procédez comme suit :
- Enregistrez le document d'exemple dans un fichier appelé
index.html
. Double-cliquez sur
index.html
pour l'ouvrir dans votre navigateur par défaut.Alternativement, vous pouvez servir
index.html
en exécutantnpx http-server
dans le même répertoire queindex.html
. (Si vous êtes invité à donner l'autorisation d'installerhttp-server
, saisissezy
.) Accédez ensuite àhttp://localhost:8080
dans votre navigateur.Ouvrez la console du navigateur pour voir la sortie du script.
Actualisez la page pour voir une nouvelle prédiction (et très probablement différente).
Installer à partir de NPM
Pour installer TensorFlow.js à partir de NPM, utilisez la CLI npm ou Yarn .
MNP
npm install @tensorflow/tfjs
Fil
yarn add @tensorflow/tfjs
L'exemple suivant montre comment importer TensorFlow.js, définir un modèle et entraîner le modèle.
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
});
Configuration de Node.js
Pour utiliser TensorFlow.js dans Node.js, utilisez la CLI npm ou le fil pour compléter l'une des options d'installation ci-dessous.
Pour en savoir plus sur l'utilisation de TensorFlow.js dans Node.js, consultez le guide Node.js . Pour plus d'informations sur l'installation, consultez le référentiel TensorFlow.js pour Node.js .
Option 1 : installez TensorFlow.js avec des liaisons C++ natives.
Le module tfjs-node
fournit une exécution native de TensorFlow dans les applications JavaScript sous le runtime Node.js, accélérée par le binaire TensorFlow C.
Installez tfjs-node
:
MNP
npm install @tensorflow/tfjs-node
Fil
yarn add @tensorflow/tfjs-node
L'exemple suivant montre comment importer tfjs-node
, définir un modèle et entraîner le modèle.
// 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}`)
}
});
Option 2 : installer TensorFlow.js pour GPU
(Linux uniquement) Si votre système dispose d'un GPU NVIDIA® avec prise en charge CUDA , vous pouvez utiliser le package GPU pour améliorer les performances.
Installez tfjs-node-gpu
:
MNP
npm install @tensorflow/tfjs-node-gpu
Fil
yarn add @tensorflow/tfjs-node-gpu
L'exemple suivant montre comment importer tfjs-node-gpu
, définir un modèle et entraîner le modèle.
// 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}`)
}
});
Option 3 : Installer la version JavaScript pure
Le module tfjs
est le même package que vous utiliseriez dans le navigateur. C'est l'option la plus lente de Node.js en termes de performances.
Installez tfjs
:
MNP
npm install @tensorflow/tfjs
Fil
yarn add @tensorflow/tfjs
L'exemple suivant montre comment importer tfjs
, définir un modèle et entraîner le modèle.
// 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}`)
}
});
Manuscrit
Si vous utilisez TensorFlow.js dans un projet TypeScript et que la vérification stricte des valeurs nulles est activée, vous devrez peut-être définir skipLibCheck: true
dans votre tsconfig.json
pour éviter les erreurs lors de la compilation.