Tutorial de TensorFlow.js

¿Qué es TensorFlow.js?

Una popular biblioteca de JavaScript para Machine Learning .

Nos permite entrenar e implementar modelos de aprendizaje automático en el navegador .

Permite agregar funciones de aprendizaje automático a cualquier aplicación web .

Usando TensorFlow

Para usar TensorFlow.js, agregue la siguiente etiqueta de secuencia de comandos a sus archivos HTML:

Ejemplo

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]/dist/tf.min.js"></script>

Para asegurarse de usar siempre la última versión, use esto:

Ejemplo 2

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

TensorFlow fue desarrollado por Google Brain Team para uso interno de Google, pero se lanzó como software abierto en 2015.

En enero de 2019, los desarrolladores de Google lanzaron TensorFlow.js, la implementación JavaScript de TensorFlow.

Tensorflow.js se diseñó para proporcionar las mismas funciones que la biblioteca TensorFlow original escrita en Python.


tensores

TensorFlow.js es una biblioteca de JavaScript para definir y operar en Tensors .

Un tensor es muy parecido a una matriz multidimensional.

Un tensor contiene valores numéricos en (una o más) formas dimensionales.

Un tensor tiene las siguientes propiedades principales:

PropiedadDescripción
tipo de del tipo de datos
rangoEl número de dimensiones
formaEl tamaño de cada dimensión.

Crear un tensor

Se puede crear un tensor a partir de cualquier matriz N-dimensional :

Ejemplo 1

const tensorA = tf.tensor([[1, 2], [3, 4]]);

Ejemplo 2

const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);


Forma de tensor

También se puede crear un tensor a partir de una matriz y un parámetro de forma :

Ejemplo 1

const shape = [2, 2];
const tensorA = tf.tensor([1, 2, 3, 4], shape);

Ejemplo2

const tensorA = tf.tensor([1, 2, 3, 4], [2, 2]);

Ejemplo3

const tensorA = tf.tensor([[1, 2], [3, 4]], [2, 2]);


Tipos de datos de tensor

Un tensor puede tener los siguientes tipos de datos:

  • bool
  • int32
  • float32 (predeterminado)
  • complejo64
  • cuerda

Cuando crea un tensor, puede especificar el tipo de datos como el tercer parámetro:

Ejemplo

const tensorA = tf.tensor([1, 2, 3, 4], [2, 2], "int32");
/*
Results:
tensorA.rank = 2
tensorA.shape = 2,2
tensorA.dtype = int32
*/


Recuperar valores de tensor

Puede obtener los datos detrás de un tensor usando tensor.data() :

Ejemplo

const tensorA = tf.tensor([[1, 2], [3, 4]]);
tensorA.data().then(data => display(data));

// Result: 1,2,3,4
function display(data) {
  document.getElementById("demo").innerHTML = data;
}

Puede obtener la matriz detrás de un tensor usando tensor.array() :

Ejemplo

const tensorA = tf.tensor([[1, 2], [3, 4]]);
tensorA.array().then(array => display(array[0]));

// Result: 1,2
function display(data) {
  document.getElementById("demo").innerHTML = data;
}