Tutorial do TensorFlow.js

O que é o TensorFlow.js?

Uma biblioteca JavaScript popular para Machine Learning .

Permite treinar e implantar modelos de aprendizado de máquina no navegador .

Permite adicionar funções de aprendizado de máquina a qualquer aplicativo Web .

Como usar o TensorFlow

Para usar o TensorFlow.js, adicione a seguinte tag de script aos seus arquivos HTML:

Exemplo

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

Para garantir que você sempre use a versão mais recente, use isto:

Exemplo 2

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

O TensorFlow foi desenvolvido pelo Google Brain Team para uso interno do Google, mas foi lançado como software aberto em 2015.

Em janeiro de 2019, os desenvolvedores do Google lançaram o TensorFlow.js, a implementação JavaScript do TensorFlow.

O Tensorflow.js foi projetado para fornecer os mesmos recursos da biblioteca original do TensorFlow escrita em Python.


Tensores

TensorFlow.js é uma biblioteca JavaScript para definir e operar em tensores .

Um tensor é muito parecido com um array multidimensional.

Um tensor contém valores numéricos em uma (uma ou mais) forma dimensional.

Um tensor tem as seguintes propriedades principais:

PropriedadeDescrição
dtypeO tipo de dados
classificaçãoO número de dimensões
formaO tamanho de cada dimensão

Criando um tensor

Um tensor pode ser criado a partir de qualquer array N-dimensional :

Exemplo 1

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

Exemplo 2

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


Forma do tensor

Um Tensor também pode ser criado a partir de um array e um parâmetro de forma :

Exemplo 1

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

Exemplo2

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

Exemplo3

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


Tipos de dados tensores

Um tensor pode ter os seguintes tipos de dados:

  • bool
  • int32
  • float32 (padrão)
  • complexo64
  • corda

Ao criar um tensor, você pode especificar o tipo de dados como o terceiro parâmetro:

Exemplo

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


Recuperar Valores do Tensor

Você pode obter os dados por trás de um tensor usando tensor.data() :

Exemplo

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;
}

Você pode obter a matriz atrás de um tensor usando tensor.array() :

Exemplo

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;
}