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:
- Clone ou baixe o repositório tfjs-examples .
- Mude para o diretório de introdução:
cd tfjs-examples/getting-started
getting-started
- 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:
- No
tfjs-examples/getting-started
, executeyarn watch
. - 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.
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.
Instale o TensorFlow.js
Veja como instalar o TensorFlow.js para implementação no navegador web ou Node.js.
Converter modelos pré-treinados em TensorFlow.js
Saiba como converter modelos pré-treinados de Python para TensorFlow.js.
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.