Créer votre propre modèle de reconnaissance de chiffres
Vous êtes rendu au dernier exercice du cours — vous avez maintenant tout ce qu'il faut pour bâtir un modèle précis de reconnaissance de chiffres manuscrits!
Nous avons déjà effectué la manipulation de base du jeu de données MNIST montrée dans la vidéo, donc X et y sont chargés et prêts pour l'entraînement. Sequential et Dense de tensorflow.keras sont aussi déjà importés.
Pour ajouter un défi supplémentaire, nous avons chargé seulement 2500 images, plutôt que 60000 comme vous le verrez dans certains résultats publiés. Les modèles de deep learning donnent de meilleurs résultats avec plus de données, mais l'entraînement est aussi plus long, surtout quand les modèles deviennent plus complexes.
Si vous avez un ordinateur avec un GPU compatible CUDA, vous pouvez en tirer parti pour accélérer les calculs. Si vous n'avez pas de GPU, pas de souci! Vous pouvez configurer un environnement de deep learning dans le nuage pour exécuter vos modèles sur un GPU. Voici un billet de blogue de Dan qui explique comment faire — jetez-y un coup d'œil après avoir terminé cet exercice! C'est une excellente prochaine étape pour poursuivre votre parcours en deep learning.
Prêt à passer au niveau supérieur en deep learning? Consultez Advanced Deep Learning with Keras pour voir comment l'API fonctionnelle de Keras vous permet d'intégrer des connaissances propres au domaine afin de résoudre de nouveaux types de problèmes. Une fois que vous saurez utiliser l'API fonctionnelle, jetez un œil à Image Processing with Keras in Python pour apprendre les applications de Keras propres aux images.
Cette activité fait partie du cours
Introduction à Deep Learning en Python
Instructions de l’exercice
- Créez un objet
Sequentialpour démarrer votre modèle. Nommez-lemodel. - Ajoutez la première couche cachée
Densede50unités à votre modèle avec l'activation'relu'. Pour ces données,input_shapeest(784,). - Ajoutez une deuxième couche cachée
Denseavec50unités et une fonction d'activation'relu'. - Ajoutez la couche de sortie. Votre fonction d'activation doit être
'softmax', et le nombre de nœuds dans cette couche doit correspondre au nombre de sorties possibles dans ce cas :10. - Compilez
modelcomme pour les modèles précédents : utilisez'adam'commeoptimizer,'categorical_crossentropy'pour la loss, etmetrics=['accuracy']. - Ajustez le modèle avec
Xetyen utilisant unvalidation_splitde0.3et10epochs.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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
____