Inizia con TensorFlow.js

TensorFlow.js è una libreria JavaScript per l'addestramento e la distribuzione di modelli di machine learning nel browser Web e in Node.js. Questo tutorial mostra come iniziare con TensorFlow.js addestrando un modello minimo nel browser e utilizzando il modello per fare una previsione.

Il codice di esempio è disponibile su GitHub .

Prerequisiti

Per completare questo tutorial, è necessario che quanto segue sia installato nel tuo ambiente di sviluppo:

Installa l'esempio

Ottieni il codice sorgente e installa le dipendenze:

  1. Clona o scarica il repository tfjs-examples .
  2. Passare alla directory getting-started : cd tfjs-examples/getting-started .
  3. Installa le dipendenze: yarn install .

Se guardi il file package.json , potresti notare che TensorFlow.js non è una dipendenza. Questo perché l'esempio carica TensorFlow.js da una CDN. Ecco l'HTML completo da index.html :

<html>
  <head>
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest"> </script>
  </head>
  <body>
    <h4>Tiny TFJS example<hr/></h4>
    <div id="micro-out-div">Training...</div>
    <script src="./index.js"> </script>
  </body>
</html>

L'elemento <script> nella testa carica la libreria TensorFlow.js e l'elemento <script> alla fine del corpo carica lo script di machine learning.

Per altri modi per creare una dipendenza da TensorFlow.js, consulta il tutorial di configurazione .

Esegui l'esempio

Esegui l'esempio e controlla i risultati:

  1. Nella directory tfjs-examples/getting-started , esegui yarn watch .
  2. Passare a http://127.0.0.1:1234 nel browser.

Dovresti vedere il titolo della pagina e sotto un numero come 38.31612014770508 . Il numero esatto varierà, ma dovrebbe essere vicino a 39.

Cos'è successo?

Quando viene caricato index.js , addestra un modello tf.sequential utilizzando i valori $ x $ e $ y $ che soddisfano l'equazione $ y = 2x - 1 $.

// Create a simple model.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

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

// Train the model using the data.
await model.fit(xs, ys, {epochs: 250});

Quindi prevede un valore $ y $ per il valore $ x $ invisibile 20 e aggiorna il DOM per visualizzare la previsione.

// Use the model to do inference on a data point the model hasn't seen.
// Should print approximately 39.
document.getElementById('micro-out-div').innerText =
    model.predict(tf.tensor2d([20], [1, 1])).dataSync();

Il risultato di $ 2 * 20 - 1 $ è 39, quindi il valore $ y $ previsto dovrebbe essere circa 39.

Qual è il prossimo passo?

Questo tutorial ha fornito un esempio minimo di utilizzo di TensorFlow.js per addestrare un modello nel browser. Per un'introduzione più approfondita ai modelli di addestramento con JavaScript, consulta la guida TensorFlow.js.

Altri modi per iniziare

Ecco altri modi per iniziare con TensorFlow.js e Web ML.

Guarda il corso Web ML su TensorFlow.js

Se sei uno sviluppatore web alla ricerca di un'introduzione pratica al Web ML, dai un'occhiata al corso video di Google Developers Machine Learning per sviluppatori Web. Il corso ti mostra come utilizzare TensorFlow.js nei tuoi siti Web e applicazioni.

Vai al corso di web ML

Codifica programmi ML senza occuparti direttamente dei tensori

Se vuoi iniziare con l'apprendimento automatico senza gestire ottimizzatori o manipolazione di tensori, consulta la libreria ml5.js.

Costruita sulla base di TensorFlow.js, la libreria ml5.js fornisce l'accesso ad algoritmi e modelli di machine learning nel browser web con un'API concisa e accessibile.

Dai un'occhiata a ml5.js

Installa TensorFlow.js

Scopri come installare TensorFlow.js per l'implementazione nel browser Web o Node.js.

Installa TensorFlow.js

Converti modelli preaddestrati in TensorFlow.js

Scopri come convertire modelli preaddestrati da Python a TensorFlow.js.

Modello di Keras Modello GraphDef

Impara dal codice TensorFlow.js esistente

Il repository tfjs-examples fornisce piccole implementazioni di esempio per varie attività ML utilizzando TensorFlow.js.

Visualizza esempi di tfjs su GitHub

Visualizza il comportamento del tuo modello TensorFlow.js

tfjs-vis è una piccola libreria per la visualizzazione nel browser Web destinata all'uso con TensorFlow.js.

Visualizza tfjs-vis su GitHub Vedi demo

Preparare i dati per l'elaborazione con TensorFlow.js

TensorFlow.js supporta l'elaborazione dei dati utilizzando le best practice ML.

Visualizza la documentazione