Primeiros passos com o TensorFlow.js

TensorFlow.js é uma biblioteca JavaScript para treinamento e implantação de modelos de aprendizado de máquina no navegador da web e em Node.js. Este tutorial mostra como começar a usar o TensorFlow.js treinando um modelo mínimo no navegador e usando o modelo para fazer uma previsão.

O código de exemplo está disponível no GitHub .

Pré-requisitos

Para concluir este tutorial, você precisa do seguinte instalado em seu ambiente de desenvolvimento:

Instale o exemplo

Obtenha o código fonte e instale as dependências:

  1. Clone ou baixe o repositório tfjs-examples .
  2. Mude para o diretório getting-started : cd tfjs-examples/getting-started .
  3. Instale dependências: yarn install .

Se você observar o arquivo package.json , poderá notar que TensorFlow.js não é uma dependência. Isso ocorre porque o exemplo carrega TensorFlow.js de um CDN. Aqui está o 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>

O elemento <script> no cabeçalho carrega a biblioteca TensorFlow.js, e o elemento <script> no final do corpo carrega o script de aprendizado de máquina.

Para outras maneiras de depender do TensorFlow.js, consulte o tutorial de configuração .

Execute o exemplo

Execute o exemplo e confira os resultados:

  1. No diretório tfjs-examples/getting-started , execute yarn watch .
  2. Navegue para http://127.0.0.1:1234 no seu navegador.

Você deverá ver o título da página e abaixo dele um número como 38.31612014770508 . O número exato pode variar, mas deve ser próximo de 39.

O que aconteceu?

Quando index.js é carregado, ele treina um modelo tf.sequential usando valores $ x $ e $ y $ que satisfazem a equação $ 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});

Em seguida, ele prevê um valor $ y $ para o valor $ x $ 20 invisível e atualiza o DOM para exibir a previsão.

// 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();

O resultado de $ 2 * 20 - 1 $ é 39, então o valor previsto de $ y $ deve ser aproximadamente 39.

O que vem a seguir

Este tutorial forneceu um exemplo mínimo de uso do TensorFlow.js para treinar um modelo no navegador. Para uma introdução mais profunda aos modelos de treinamento com JavaScript, consulte o guia TensorFlow.js.

Mais maneiras de começar

Aqui estão mais maneiras de começar a usar TensorFlow.js e web ML.

Assista ao curso de ML na web do TensorFlow.js

Se você é um desenvolvedor da Web em busca de uma introdução prática ao ML da Web, confira o curso em vídeo do Google Developers, Aprendizado de máquina para desenvolvedores da Web. O curso mostra como usar o TensorFlow.js em seus sites e aplicativos.

Acesse o curso de ML na web

Codifique programas de ML sem lidar diretamente com tensores

Se você deseja começar com o aprendizado de máquina sem gerenciar otimizadores ou manipulação de tensores, verifique a biblioteca ml5.js.

Construída com base no TensorFlow.js, a biblioteca ml5.js fornece acesso a algoritmos e modelos de aprendizado de máquina no navegador da Web com uma API concisa e acessível.

Confira ml5.js

Instale o TensorFlow.js

Veja como instalar o TensorFlow.js para implementação no navegador web ou Node.js.

Instale o TensorFlow.js

Converter modelos pré-treinados em TensorFlow.js

Aprenda como converter modelos pré-treinados de Python para TensorFlow.js.

Modelo Keras Modelo GraphDef

Aprenda com o código TensorFlow.js existente

O repositório tfjs-examples fornece pequenos exemplos de implementações para várias tarefas de ML usando TensorFlow.js.

Veja exemplos de tfjs no GitHub

Visualize o comportamento do seu modelo TensorFlow.js

tfjs-vis é uma pequena biblioteca para visualização no navegador da web destinada ao uso com TensorFlow.js.

Veja tfjs-vis no GitHub Veja demonstração

Prepare dados para processamento com TensorFlow.js

TensorFlow.js oferece suporte para processamento de dados usando as práticas recomendadas de ML.

Ver documentação