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:
- Clona o descarga el repositorio tfjs-examples .
- Cambie al directorio
getting-started
:cd tfjs-examples/getting-started
. - 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:
- En el directorio
tfjs-examples/getting-started
, ejecuteyarn watch
. - Navegue hasta
http://127.0.0.1:1234
en su navegador.
Debería 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.
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.
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 cómo convertir modelos previamente entrenados de Python a TensorFlow.js.
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.