Construir tu propio modelo de reconocimiento de dígitos
Has llegado al ejercicio final del curso: ¡ya sabes todo lo que necesitas para construir un modelo preciso para reconocer dígitos manuscritos!
Ya hemos hecho la manipulación básica del conjunto de datos MNIST que se muestra en el vídeo, así que tienes X
y y
cargados y listos para modelarlos. Sequential
y Dense
de tensorflow.keras
también están preimportados.
Para añadir un reto adicional, hemos cargado sólo 2500 imágenes, en lugar de las 60000 que verás en algunos resultados publicados. Los modelos de aprendizaje profundo funcionan mejor con más datos, sin embargo, también tardan más en entrenarse, especialmente cuando empiezan a ser más complejos.
Si tienes un ordenador con una GPU compatible con CUDA, puedes aprovecharla para mejorar el tiempo de cálculo. Si no tienes GPU, ¡no hay problema! Puedes configurar un entorno de aprendizaje profundo en la nube que pueda ejecutar tus modelos en una GPU. Aquí tienes una entrada del blog de Dan que explica cómo hacerlo - ¡consúltala después de completar este ejercicio! Es un gran paso siguiente mientras continúas tu viaje de aprendizaje profundo.
¿Listo para llevar tu aprendizaje profundo al siguiente nivel? Visita Advanced Deep Learning with Keras para ver cómo la API funcional de Keras te permite construir conocimiento de dominio para resolver nuevos tipos de problemas. Una vez que sepas utilizar la API funcional, echa un vistazo a Procesamiento de imágenes con Keras en Python para aprender aplicaciones específicas de Keras para imágenes.
Este ejercicio forma parte del curso
Introducción al Aprendizaje Profundo en Python
Instrucciones de ejercicio
- Crea un objeto
Sequential
para iniciar tu modelo. Llama a estemodel
. - Añade la primera capa oculta
Dense
de unidades50
a tu modelo con activación'relu'
. Para estos datos, elinput_shape
es(784,)
. - Añade una segunda capa oculta
Dense
con unidades50
y una función de activación'relu'
. - Añade la capa de salida. Tu función de activación debe ser
'softmax'
, y el número de nodos de esta capa debe ser el mismo que el número de salidas posibles en este caso:10
. - Compila
model
como has hecho con los modelos anteriores: Utilizando'adam'
comooptimizer
,'categorical_crossentropy'
para la pérdida, ymetrics=['accuracy']
. - Ajusta el modelo con
X
yy
utilizando unavalidation_split
de0.3
y10
épocas.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____