TensorFlow 2 início rápido para iniciantes

Ver em TensorFlow.org Executar no Google Colab Ver código fonte no GitHub Baixar notebook

Esta breve introdução usa Keras para:

  1. Criar uma rede neural que classifique imagens.
  2. Treinar essa rede neural.
  3. E, finalmente, avaliar a precisão do modelo.

Este é um arquivo de bloco de notas Google Colaboratory. Os programas Python são executados diretamente no navegador - uma ótima maneira de aprender e usar o TensorFlow. Para seguir este tutorial, execute o bloco de anotações no Google Colab clicando no botão na parte superior desta página.

  1. No Colab, conecte-se a um tempo de execução do Python: No canto superior direito da barra de menus, selecione CONNECT.
  2. Execute todas as células de código do notebook: Selecione Tempo de execução > Executar tudo.

Baixe e instale o pacote TensorFlow 2. Importe o TensorFlow para o seu programa:

from __future__ import absolute_import, division, print_function, unicode_literals

# Install TensorFlow
try:
  # %tensorflow_version only exists in Colab.
  %tensorflow_version 2.x
except Exception:
  pass

import tensorflow as tf

Carregue e prepare o conjunto de dados MNIST. Converta as amostras de números inteiros em números de ponto flutuante:

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

Crie o modelo tf.keras.Sequential empilhando camadas. Escolha uma função otimizadora e de perda para treinamento:

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

Treine e avalie o modelo:

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)
Epoch 1/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.2970 - accuracy: 0.9135
Epoch 2/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.1444 - accuracy: 0.9570
Epoch 3/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.1097 - accuracy: 0.9674
Epoch 4/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.0910 - accuracy: 0.9725
Epoch 5/5
1875/1875 [==============================] - 3s 1ms/step - loss: 0.0750 - accuracy: 0.9766
313/313 - 0s - loss: 0.0744 - accuracy: 0.9766

[0.07437223196029663, 0.9765999913215637]

O classificador de imagem agora é treinado para ~98% de acurácia neste conjunto de dados. Para saber mais, leia os tutoriais do TensorFlow.