Creación de tu propio modelo de reconocimiento de dígitos
Has llegado al último ejercicio del curso: ¡ya sabes todo lo necesario para crear un modelo preciso que reconozca dígitos escritos a mano!
Ya hemos realizado la manipulación básica del conjunto de datos MNIST que se muestra en el vídeo, por lo que ya tienes X
y y
cargados y listos para modelar. Sequential
y Dense
de tensorflow.keras
también se han importado previamente.
Para añadir un reto adicional, solo hemos cargado 2500 imágenes, en lugar de las 60 000 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 una 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 en la que explica cómo hacerlo. ¡Échale un vistazo cuando termines este ejercicio! Es un gran paso adelante en tu camino hacia el aprendizaje profundo.
¿Estás listo para llevar tu aprendizaje profundo al siguiente nivel? Echa un vistazo a Aprendizaje profundo avanzado con Keras para ver cómo la API funcional de Keras te permite desarrollar conocimientos especializados para resolver nuevos tipos de problemas. Una vez que sepas cómo 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 del ejercicio
- Crea un objeto
Sequential
para iniciar tu modelo. Llama a estomodel
. - Añade la primera capa oculta «
Dense
» de «50
» unidades a tu modelo con activación «'relu'
». Para estos datos, el número de identificación del programa (input_shape
) es(784,)
. - Añade una segunda capa oculta «
Dense
» con «50
» unidades 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 en esta capa debe ser el mismo que el número de salidas posibles en este caso: «10
». - Compila
model
tal y como has hecho con los modelos anteriores: Utilizando'adam'
comooptimizer
,'categorical_crossentropy'
para la pérdida ymetrics=['accuracy']
. - Ajusta el modelo utilizando
X
yy
con unvalidation_split
de0.3
y10
épocas.
Ejercicio interactivo práctico
Prueba este ejercicio completando el 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
____