Construire votre propre modèle de reconnaissance de chiffres
Vous êtes arrivé au dernier exercice du cours : vous avez désormais tout ce qu’il faut pour construire un modèle précis de reconnaissance de chiffres manuscrits !
Nous avons déjà effectué les manipulations de base du jeu de données MNIST montrées dans la vidéo, vous disposez donc de X et y chargés et prêts pour l’entraînement. Sequential et Dense de tensorflow.keras sont également préimportés.
Pour ajouter un petit défi, nous n’avons chargé que 2500 images, au lieu des 60000 que vous verrez dans certains résultats publiés. Les modèles de deep learning performent mieux avec davantage de données, mais l’entraînement prend aussi plus de temps, surtout lorsqu’ils 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 cloud pour exécuter vos modèles sur un GPU. Voici un billet de blog de Dan qui explique comment faire — jetez-y un œ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 ? Découvrez Advanced Deep Learning with Keras pour voir comment l’API fonctionnelle de Keras vous permet d’intégrer de la connaissance métier afin de résoudre de nouveaux types de problèmes. Une fois l’API fonctionnelle maîtrisée, explorez Image Processing with Keras in Python pour apprendre les applications de Keras spécifiques au traitement d’images.
Cet exercice fait partie du cours
Introduction au Deep Learning en Python
Instructions
- Créez un objet
Sequentialpour démarrer votre modèle. Appelez-lemodel. - Ajoutez à votre modèle une première couche cachée
Densede50unités avec l’activation'relu'. Pour ces données, leinput_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 de cette couche doit correspondre au nombre de sorties possibles dans ce cas :10. - Compilez
modelcomme pour les modèles précédents : avec'adam'commeoptimizer,'categorical_crossentropy'pour la perte (loss), etmetrics=['accuracy']. - Entraînez le modèle avec
Xetyen utilisant unvalidation_splitde0.3et10époques.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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
____