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. Clone o descargue 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 , es posible que observe que TensorFlow.js no es una dependencia. Esto se debe a que el ejemplo carga TensorFlow.js desde un 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 .

Ejecuta el ejemplo

Ejecute el ejemplo y compruebe los resultados:

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

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

¿Lo que acaba de suceder?

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 invisible de $ x $ 20 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.

Que 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.

Mira el curso de aprendizaje automático web de TensorFlow.js

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

Ir al curso de ML web

Codifique programas ML sin tratar directamente con tensores

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

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

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 a convertir modelos previamente entrenados de Python a TensorFlow.js.

Modelo Keras Modelo GraphDef

Aprende del código TensorFlow.js existente

El repositorio tfjs-examples proporciona pequeñas implementaciones de ejemplo para varias tareas de ML usando TensorFlow.js.

Ver ejemplos de tfjs en GitHub

Visualiza el comportamiento de tu modelo TensorFlow.js

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

Ver tfjs-vis en GitHub Ver demostración

Prepara datos para su procesamiento con TensorFlow.js

TensorFlow.js tiene soporte para procesar datos usando las mejores prácticas de ML.

Ver documentación