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 no 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 de introdução: cd tfjs-examples/getting-started getting-started
  3. Instalar dependências: yarn install .

Se você observar o arquivo package.json , poderá perceber que o 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 formas de obter uma dependência do TensorFlow.js, consulte o tutorial de configuração .

Execute o exemplo

Execute o exemplo e confira os resultados:

  1. No tfjs-examples/getting-started , execute yarn watch .
  2. Navegue até http://127.0.0.1:1234 em seu navegador.

Você deve ver um título de página e abaixo dele um número como 38.31612014770508 . O número exato varia, mas deve estar próximo de 39.

O que acabou de acontecer?

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 $ não visto 20 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.

Qual é o próximo

Este tutorial forneceu um exemplo mínimo de uso do TensorFlow.js para treinar um modelo no navegador. Para obter uma introdução mais detalhada 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 o TensorFlow.js e o Web ML.

Assista ao curso de ML da Web do TensorFlow.js

Se você for 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.

Ir para o curso de ML na web

Codifique programas ML sem lidar diretamente com tensores

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

Construída sobre o 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

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

Modelo Keras Modelo GraphDef

Aprenda com o código existente do TensorFlow.js

O repositório tfjs-examples fornece pequenas implementações de exemplo para várias tarefas de ML usando o 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 o TensorFlow.js.

Veja o tfjs-vis no GitHub Veja a demonstração

Preparar dados para processamento com TensorFlow.js

O TensorFlow.js é compatível com o processamento de dados usando as práticas recomendadas de ML.

Ver documentação