Comience con TensorFlow.js

TensorFlow.js es una biblioteca de JavaScript para entrenar e implementar modelos de aprendizaje automático en el navegador web y en Node.js. Este tutorial le muestra cómo comenzar con TensorFlow.js entrenando un modelo mínimo en el navegador y usando el modelo para hacer una predicción.

El código de ejemplo está disponible en GitHub .

Requisitos previos

Para completar este tutorial, necesita lo siguiente instalado en su entorno de desarrollo:

Instalar el ejemplo

Obtenga el código fuente e instale las dependencias:

  1. Clona o descarga el repositorio tfjs-examples .
  2. Cambie al directorio getting-started : cd tfjs-examples/getting-started .
  3. Instalar dependencias: yarn install .

Si observa el archivo package.json , puede notar que TensorFlow.js no es una dependencia. Esto se debe a que el ejemplo carga TensorFlow.js desde una CDN. Aquí está el HTML completo de 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>

El elemento <script> en el encabezado carga la biblioteca TensorFlow.js y el elemento <script> al final del cuerpo carga el script de aprendizaje automático.

Para conocer otras formas de depender de TensorFlow.js, consulte el tutorial de configuración .

Ejecute el ejemplo

Ejecute el ejemplo y compruebe los resultados:

  1. En el directorio tfjs-examples/getting-started , ejecute yarn watch .
  2. Navegue hasta http://127.0.0.1:1234 en su navegador.

Deberías ver el título de una página y debajo un número como 38.31612014770508 . El número exacto variará, pero debería estar cerca de 39.

¿Qué acaba de pasar?

Cuando se carga index.js , entrena un modelo tf.sequential usando valores $ x $ y $ y $ que satisfacen la ecuación $ 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});

Luego predice un valor de $ y $ para el valor 20 de $ x $ invisible y actualiza el DOM para mostrar la predicción.

// 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();

El resultado de $ 2 * 20 - 1 $ es 39, por lo que el valor previsto de $ y $ debería ser aproximadamente 39.

¿Qué sigue?

Este tutorial proporcionó un ejemplo mínimo del uso de TensorFlow.js para entrenar un modelo en el navegador. Para obtener una introducción más profunda a los modelos de entrenamiento con JavaScript, consulte la guía de TensorFlow.js.

Más formas de empezar

Aquí hay más formas de comenzar con TensorFlow.js y web ML.

Vea el curso web ML de TensorFlow.js

Si es un desarrollador web y busca una introducción práctica al aprendizaje automático web, consulte el curso en vídeo Aprendizaje automático para desarrolladores web de Google Developers. El curso le muestra cómo utilizar TensorFlow.js en sus sitios web y aplicaciones.

Ir al curso web de ML

Codifique programas de ML sin tratar directamente con tensores

Si desea comenzar con el aprendizaje automático sin administrar optimizadores ni manipulación de tensores, consulte la biblioteca ml5.js.

Construida sobre TensorFlow.js, la biblioteca ml5.js brinda acceso a algoritmos y modelos de aprendizaje automático en el navegador web con una API concisa y accesible.

Echa un vistazo a ml5.js

Instalar TensorFlow.js

Vea cómo instalar TensorFlow.js para implementarlo en el navegador web o Node.js.

Instalar TensorFlow.js

Convierta modelos previamente entrenados a TensorFlow.js

Aprenda cómo convertir modelos previamente entrenados de Python a TensorFlow.js.

Modelo Keras Modelo GraphDef

Aprenda del código TensorFlow.js existente

El repositorio tfjs-examples proporciona pequeños ejemplos de implementaciones para diversas tareas de aprendizaje automático utilizando TensorFlow.js.

Ver ejemplos de tfjs en GitHub

Visualice el comportamiento de su modelo TensorFlow.js

tfjs-vis es una pequeña biblioteca para visualización en el navegador web diseñada para usarse con TensorFlow.js.

Ver tfjs-vis en GitHub Ver demostración

Prepare datos para procesar con TensorFlow.js

TensorFlow.js admite el procesamiento de datos utilizando las mejores prácticas de ML.

Ver documentación