Path: blob/master/site/pt-br/tutorials/quickstart/beginner.ipynb
25118 views
Copyright 2019 The TensorFlow Authors.
Primeiros passos do TensorFlow 2 para iniciantes
Esta breve introdução usa o Keras para:
Carregar um dataset pré-criado.
Criar um modelo de aprendizado de máquina de rede neural que classifica imagens.
Treinar essa rede neural.
Avaliar a exatidão do modelo.
Este é um notebook do Google Colaboratory. Os programas em Python são executados diretamente no navegador — uma ótima maneira de aprender e usar o TensorFlow. Para seguir este tutorial, execute o notebook no Google Colab clicando no botão no topo desta página.
No Colab, conecte a um runtime do Python: no canto superior direito da barra de menu, selecione CONNECT (CONECTAR).
Para executar todo o código no notebook, selecione Runtime > Run all (Executar tudo). Para executar uma célula de código de cada vez, passe o cursor sobre cada célula e selecione o ícone Run cell (Executar célula).
Configure o TensorFlow
Para começar, importe o TensorFlow para seu programa:
Se você estiver acompanhando no seu próprio ambiente de desenvolvimento em vez do Colab, veja o guia de instalação para configurar o TensorFlow para desenvolvimento.
Observação: confira se você atualizou para o pip
mais recente antes de instalar o pacote do TensorFlow 2 caso esteja usando seu próprio ambiente de desenvolvimento. Confira mais detalhes no guia de instalação.
Carregue um dataset
Carregue e prepare o dataset MNIST. Os valores de pixel das imagens vão de 0 a 255. Ajuste esses valores para um intervalo de 0 a 1 ao dividir os valores por 255.0
. Isso também converte os dados de amostra de números inteiros para números em ponto flutuante:
Crie um modelo de aprendizado de máquina
Crie um modelo tf.keras.Sequential
:
Sequential
é útil para empilhar camadas quando cada uma tem um tensor de entrada e um tensor de saída. As camadas são funções com uma estrutura matemática conhecida que podem ser reutilizadas e têm variáveis que podem ser treinadas. A maioria dos modelos do TensorFlow são compostos de camadas. Esse modelo usa as camadas Flatten
, Dense
e Dropout
.
Para cada exemplo, o modelo retorna um vetor de logits ou pontuações log-odds, uma para cada classe.
A função tf.nn.softmax
converte esses logits em probabilidades para cada classe:
Observação: é possível fazer o bake da função tf.nn.softmax
na função de ativação para a última camada da rede. Isso pode fazer com que a saída do modelo seja mais diretamente interpretável, mas essa abordagem não é recomendada, já que é impossível fornecer um cálculo de perda numericamente estável e exato para todos os modelos ao usar uma saída de softmax.
Defina uma função de perda para treinamento usando losses.SparseCategoricalCrossentropy
:
A função de perda obtém um vetor de valores verdadeiros e um vetor de logits e retorna uma perda escalar para cada exemplo. Essa perda é igual à probabilidade log negativa da classe verdadeira: a perda é zero se o modelo tem certeza da classe correta.
Esse modelo não treinado fornece probabilidades perto de serem aleatórias (1/10 para cada classe), então a perda inicial deve ser próxima de -tf.math.log(1/10) ~= 2.3
.
Antes de começar a treinar, configure e compile o modelo usando o Model.compile
do Keras. Defina a classe optimizer
(otimizador) como adam
, defina o loss
(perda) como a função loss_fn
definida antes e especifique uma métrica para ser avaliada para o modelo ao configurar o parâmetro metrics
(métricas) como accuracy
(exatidão).
Treine e avalie seu modelo
Use o método Model.fit
para ajustar os parâmetros do seu modelo e reduzir a perda:
O método Model.evaluate
verifica o desempenho de um modelo, geralmente em um dataset de validação ou de teste.
O classificador de imagens já está treinado com cerca de 98% de exatidão nesse dataset. Para saber mais, leia os tutoriais do TensorFlow.
Se você quiser que seu modelo retorne uma probabilidade, empacote o modelo treinado e anexe o softmax a ele:
Conclusão
Parabéns! Você treinou um modelo de aprendizado de máquina usando um dataset pré-criado com a API Keras.
Para obter mais exemplos de uso do Keras, confira os tutoriais. Para saber mais sobre como criar modelos com o Keras, leia os guias. Se quiser saber mais sobre como carregar e preparar dados, consulte os tutoriais sobre carregamento de dados de imagem ou carregamento de dados CSV.