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:
- Clone ou baixe o repositório tfjs-examples .
- Mude para o diretório
getting-started
:cd tfjs-examples/getting-started
. - 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:
- No diretório
tfjs-examples/getting-started
, executeyarn watch
. - 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.
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.
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
Aprenda como converter modelos pré-treinados de Python para TensorFlow.js.
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.