Ver en TensorFlow.org | Ejecutar en Google Colab | Ver codigo en GitHub | Descargar notebook |
Este es un notebook de Google Colaboratory. Los programas de Python se executan directamente en tu navegador— una gran manera de aprender y utilizar TensorFlow. Para poder seguir este tutorial, ejecuta este notebook en Google Colab presionando el boton en la parte superior de esta pagina.
- En Colab, selecciona "connect to a Python runtime": En la parte superior derecha de la barra de menus selecciona: CONNECT.
- Para ejecutar todas las celdas de este notebook: Selecciona Runtime > Run all.
Descarga e installa el paquete TensorFlow 2.0 version. Importa TensorFlow en tu programa:
# Installa TensorFlow
import tensorflow as tf
Carga y prepara el conjunto de datos MNIST. Convierte los ejemplos de numeros enteros a numeros de punto flotante:
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
Construye un modelo tf.keras.Sequential
apilando capas. Escoge un optimizador y una funcion de perdida para el entrenamiento de tu modelo:
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'])
Entrena y evalua el modelo:
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
Epoch 1/5 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2935 - accuracy: 0.9155 Epoch 2/5 1875/1875 [==============================] - 3s 2ms/step - loss: 0.1430 - accuracy: 0.9573 Epoch 3/5 1875/1875 [==============================] - 3s 2ms/step - loss: 0.1073 - accuracy: 0.9670 Epoch 4/5 1875/1875 [==============================] - 3s 2ms/step - loss: 0.0880 - accuracy: 0.9725 Epoch 5/5 1875/1875 [==============================] - 3s 2ms/step - loss: 0.0745 - accuracy: 0.9761 313/313 - 0s - loss: 0.0707 - accuracy: 0.9785 [0.07073566317558289, 0.9785000085830688]
El model de clasificacion de images fue entrenado y alcanzo una exactitud de ~98% en este conjunto de datos. Para aprender mas, lee los [tutoriales de TensorFlow].