La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.
Image Classifier
Classer des données avec un réseau de neurones entraîné pour le Deep Learning

Bibliothèques :
Deep Learning Toolbox /
Deep Neural Networks
Description
Le bloc Image Classifier prédit des étiquettes de classe pour les données en entrée avec le réseau entraîné spécifié via le paramètre de bloc. Ce bloc permet le chargement d’un réseau préentraîné dans le modèle Simulink® depuis un fichier MAT ou depuis une fonction MATLAB®.
Exemples
Classify Images in Simulink Using GoogLeNet
Classify an image in Simulink® using the Image Classifier
block. The example uses the pretrained deep convolutional neural network GoogLeNet to perform the classification.
Classify ECG Signals in Simulink Using Deep Learning
Use wavelet transforms and a deep learning network within a Simulink (R) model to classify ECG signals. This example uses the pretrained convolutional neural network from the Classify Time Series Using Wavelet Analysis and Deep Learning example of the Wavelet Toolbox™ to classify ECG signals based on images from the CWT of the time series data. For information on training, see Classify Time Series Using Wavelet Analysis and Deep Learning (Wavelet Toolbox).
Limitations
Le bloc Image Classifier ne supporte pas les réseaux de séquences et les réseaux MIMO (Multiple Input and Multiple Output).
Le bloc Image Classifier ne supporte pas l’enregistrement de fichiers MAT.
Ports
Entrée
Tableau numérique h x w x c x N, où h, w et c sont respectivement la hauteur, la largeur et le nombre de canaux des images, et N est le nombre d’images.
Tableau numérique N x numFeatures
, où N est le nombre d’observations et numFeatures
est le nombre de caractéristiques des données en entrée.
Si le tableau contient des NaN
, ils sont propagés dans le réseau.
Sortie
Étiquettes de classe prédites avec le score le plus élevé, renvoyées comme un vecteur énuméré d’étiquettes de N x 1, où N est le nombre d’observations.
Scores prédits, retournés sous la forme d'une matrice K x N, où K est le nombre de classes et N est le nombre d’observations.
Étiquettes associées aux scores prédits, retournées sous la forme d'une matrice N x K, où N est le nombre d’observations et K est le nombre de classes.
Paramètres
Spécifiez la source du réseau entraîné. Sélectionnez l’un des éléments suivants :
Network from MAT-file
— Importer un réseau entraîné depuis un fichier MAT contenant un objetdlnetwork
.Network from MATLAB function
— Importer un réseau préentraîné depuis une fonction MATLAB. Par exemple, pour utiliser un réseau GoogLeNet préentraîné, créez une fonctionpretrainedGoogLeNet
dans un M-file MATLAB puis importez-la.function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Utilisation programmatique
Paramètre de bloc : Network |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : 'Network from MAT-file' | 'Network from MATLAB function' |
Par défaut : 'Network from MAT-file' |
Ce paramètre spécifie le nom du fichier MAT qui contient le réseau de Deep Learning entraîné à charger. Si le fichier n’est pas sur le chemin d’accès MATLAB, utilisez le bouton Browse pour localiser le fichier.
Dépendances
Pour activer ce paramètre, définissez le paramètre Network à Network from MAT-file
.
Utilisation programmatique
Paramètre de bloc : NetworkFilePath |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : Chemin d’accès ou nom du fichier MAT |
Par défaut : 'untitled.mat' |
Ce paramètre spécifie le nom de la fonction MATLAB pour le réseau de Deep Learning préentraîné. Par exemple, pour utiliser un réseau GoogLeNet préentraîné, créez une fonction pretrainedGoogLeNet
dans un M-file MATLAB puis importez-la.
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Dépendances
Pour activer ce paramètre, définissez le paramètre Network à Network from MATLAB function
.
Utilisation programmatique
Paramètre de bloc : NetworkFunction |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : Nom de la fonction MATLAB |
Par défaut : 'squeezenet' |
Taille des mini-batchs à utiliser pour la prédiction, définie par un entier positif. Des mini-batchs de grande taille nécessitent davantage de mémoire, mais peuvent entraîner des prédictions plus rapides.
Utilisation programmatique
Paramètre de bloc : MiniBatchSize |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : entier positif |
Par défaut : '128' |
Redimensionnez les données sur le port d’entrée à la taille en entrée du réseau.
Utilisation programmatique
Paramètre de bloc : ResizeInput |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : 'off' | 'on' |
Par défaut : 'on' |
Activez le port de sortie ypred
qui renvoie l’étiquette avec le score le plus élevé.
Utilisation programmatique
Paramètre de bloc : Classification |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : 'off' | 'on' |
Par défaut : 'on' |
Activez les ports de sortie scores
et labels
qui renvoient tous les scores prédits et les étiquettes de classe associées.
Utilisation programmatique
Paramètre de bloc : Predictions |
Type : vecteur de caractères, chaîne de caractères |
Valeurs : 'off' | 'on' |
Par défaut : 'off' |
Variable contenant les noms de classes, définie par un vecteur catégoriel, un tableau de chaînes de caractères ou un cell array de vecteurs de caractères.
La taille en sortie du réseau doit correspondre au nombre de classes.
Dépendances
Pour activer ce paramètre, définissez le paramètre Network à Network from MAT-file
afin d’importer un objet dlnetwork
entraîné depuis un fichier MAT.
Utilisation programmatique
Paramètre de bloc : classNames |
Type : nom de variable d’un vecteur catégoriel, d’un tableau de chaînes de caractères ou d’un cell array de vecteurs de caractères. |
Valeurs : nom d’une variable contenant les noms de classes, spécifiée comme un vecteur catégoriel, un tableau de chaînes de caractères ou un cell array de vecteurs de caractères. |
Par défaut : variable d’espace de travail classNames . |
Conseils
Vous pouvez accélérer vos simulations avec la génération de code tirant parti de la bibliothèque Intel® MKL-DNN. Pour plus de précisions, veuillez consulter Acceleration for Simulink Deep Learning Models.
Capacités étendues
Notes d'usage et limitations :
Pour générer du code C générique qui ne dépend pas de bibliothèques tierces, dans la catégorie générale Configuration Parameters > Code Generation, définissez le paramètre Language à
C
.Pour générer du code C++, dans la catégorie générale Configuration Parameters > Code Generation, définissez le paramètre Language à
C++
. Pour spécifier la bibliothèque cible pour la génération de code, dans la catégorie Code Generation > Interface, définissez le paramètre Target Library. La définition de ce paramètre àNone
génère du code C++ qui ne dépend pas de bibliothèques tierces.Pour une liste des réseaux et des couches supportés pour la génération de code, veuillez consulter Networks and Layers Supported for Code Generation (MATLAB Coder).
Notes d'usage et limitations :
Le paramètre Language dans la catégorie générale Configuration Parameters > Code Generation doit être défini à
C++
.Pour une liste des réseaux et des couches supportés pour la génération de code CUDA®, veuillez consulter Supported Networks, Layers, and Classes (GPU Coder).
Pour en savoir plus sur la génération de code pour des modèles Simulink contenant le bloc Image Classifier, veuillez consulter Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder).
Historique des versions
Introduit dans R2020bÀ partir de R2024a, l’utilisation des objets SeriesNetwork
et DAGNetwork
est déconseillée. Cette recommandation signifie que les entrées SeriesNetwork
et DAGNetwork
dans le bloc Image Classifier sont déconseillées. Utilisez les objets dlnetwork
à la place. Les objets dlnetwork
présentent les avantages suivants :
Un objet
dlnetwork
est un type de données unifié qui supporte la création de réseau, la prédiction, l’apprentissage prédéfini, la visualisation, la compression, la vérification et les boucles d’apprentissage personnalisées.Les objets
dlnetwork
supportent un plus large éventail d’architectures de réseau que vous pouvez créer ou importer à partir de plateformes externes.La fonction
trainnet
supporte les objetsdlnetwork
, ce qui vous permet de spécifier facilement des fonctions de perte. Vous pouvez sélectionner une fonction de perte prédéfinie ou spécifier une fonction de perte personnalisée.L’apprentissage et la prédiction avec des objets
dlnetwork
sont généralement plus rapides que les workflowsLayerGraph
ettrainNetwork
.
Les modèles de blocs Simulink avec des objets dlnetwork
ont un comportement différent. Les scores prédits sont renvoyés comme une matrice K x N, où K est le nombre de classes et N est le nombre d’observations. Si vous avez un modèle de blocs Simulink existant avec un objet SeriesNetwork
ou DAGNetwork
, procédez comme suit pour utiliser un objet dlnetwork
à la place :
Convertissez l’objet
SeriesNetwork
ouDAGNetwork
en objetdlnetwork
avec la fonctiondag2dlnetwork
.Définissez une variable d’espace de travail contenant les noms de classes de la sortie du réseau correspondant au paramètre de bloc Class names workspace variable.
Avec un bloc Transpose, transposez les scores prédits dans une matrice N x K, où N est le nombre d’observations et K est le nombre de classes.
Voir aussi
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)