Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Créer un réseau simple de classification d’images avec Deep Network Designer

Cet exemple montre comment utiliser Deep Network Designer pour créer et entraîner un réseau de neurones à convolution simple pour la classification du Deep Learning. Les réseaux de neurones à convolution sont des outils essentiels pour le Deep Learning et conviennent parfaitement à la reconnaissance d'images.

Dans cet exemple, vous allez :

  • Importer des images.

  • Définir l’architecture du réseau.

  • Spécifier les options d’apprentissage.

  • Entraîner le réseau.

Charger les données

Chargez les exemples de données numériques sous la forme d'un datastore d’images. La fonction imageDatastore étiquète automatiquement les images en fonction des noms de dossiers. Le jeu de données comporte 10 classes et chaque image du jeu de données a une taille de 28 x 28 x 1 pixels.

digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ...
    'nndatasets','DigitDataset');

imds = imageDatastore(digitDatasetPath, ...
    'IncludeSubfolders',true, ...
    'LabelSource','foldernames');

Ouvrez Deep Network Designer. Créez un réseau, importez et affichez les données et entraînez le réseau avec Deep Network Designer.

deepNetworkDesigner

Pour créer un réseau vierge, arrêtez-vous sur Blank Network et cliquez sur New.

Pour importer le datastore d’images, sélectionnez l’onglet Data, cliquez sur Import Data > Import Image Classification Data. Sélectionnez imds comme source des données. Réservez 30 % des données d’apprentissage pour les utiliser comme données de validation. Affectez les observations aux jeux d’apprentissage et de validation de manière aléatoire en sélectionnant Randomize.

Importez les données en cliquant sur Import.

Définir l’architecture du réseau

Dans le volet Designer, définissez l’architecture du réseau de neurones à convolution. Faites glisser des couches depuis la Layer Library et connectez-les. Pour trouver rapidement des couches, utilisez la zone de recherche Filter layers dans le volet Layer Library. Pour modifier les propriétés d’une couche, cliquez sur la couche et modifiez les valeurs dans le volet Properties.

Connectez les couches dans cet ordre :

  1. imageInputLayer avec la propriété InputSize définie à 28,28,1

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer avec la propriété OutputSize définie à 10

  6. softmaxLayer

  7. classificationLayer

Pour plus d’informations sur les couches de Deep Learning, veuillez consulter List of Deep Learning Layers.

Entraîner le réseau

Spécifiez les options d’apprentissage et entraînez le réseau.

Dans l’onglet Training, cliquez sur Training Options. Pour cet exemple, définissez le nombre maximal d’epochs à 5 et conservez les autres paramètres par défaut. Terminez la définition des options d’apprentissage en cliquant sur OK. Pour plus d’informations sur les options d’apprentissage, veuillez consulter Set Up Parameters and Train Convolutional Neural Network.

Entraînez le réseau en cliquant sur Train.

La précision est la fraction d’étiquettes que le réseau prédit correctement. Dans ce cas, plus de 97 % des étiquettes prédites correspondent aux étiquettes réelles du jeu de validation.

Pour exporter le réseau entraîné dans l’espace de travail, dans l’onglet Training, cliquez sur Export.

Pour poursuivre sur Deep Learning, vous pouvez essayer d’utiliser des réseaux préentraînés pour d’autres tâches. Résolvez de nouveaux problèmes de classification sur vos données d’images avec l’apprentissage par transfert. Vous trouverez un exemple dans En savoir plus sur l’apprentissage par transfert. Pour en savoir plus sur les réseaux préentraînés, veuillez consulter Pretrained Deep Neural Networks.

Voir aussi

|

Sujets associés