Ver em TensorFlow.org | Executar no Google Colab | Ver código fonte no GitHub | Baixar notebook |
Esta breve introdução usa Keras para:
- Criar uma rede neural que classifique imagens.
- Treinar essa rede neural.
- 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.
- No Colab, conecte-se a um tempo de execução do Python: No canto superior direito da barra de menus, selecione CONNECT.
- 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.