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:
- Clone o descargue el repositorio tfjs-examples .
- Cambie al directorio
getting-started
:cd tfjs-examples/getting-started
. - 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:
- En el
tfjs-examples/getting-started
, ejecuteyarn watch
. - 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.
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.
Instalar TensorFlow.js
Vea cómo instalar TensorFlow.js para implementarlo en el navegador web o Node.js.
Convierta modelos previamente entrenados a TensorFlow.js
Aprenda a convertir modelos previamente entrenados de Python a TensorFlow.js.
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.