Image Classifier
Classer des données avec un réseau de neurones entraîné pour le Deep Learning
Depuis R2020b
![](block_icon_image_classifier.png)
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
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
image — Images ou caractéristiques
tableau numérique
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
ypred — Étiquettes de classe prédites
énuméré
É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 — Scores prédits pour les classes
matrice
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.
labels — Étiquettes de classe pour les scores prédits
matrice
É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
Réseau — Source du réseau entraîné
Network from MAT-file
(par défaut) | Network from MATLAB function
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' |
Chemin d’accès du fichier — Fichier MAT contenant un réseau entraîné
untitled.mat
(par défaut) | Chemin d’accès ou nom du fichier MAT
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' |
Fonction MATLAB — Nom de la fonction MATLAB
squeezenet
(par défaut) | Nom de la fonction MATLAB
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 — Taille des mini-batchs
128 (par défaut) | entier positif
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' |
Redimensionner l’entrée — Redimensionne les dimensions de l’entrée
on
(par défaut) | off
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' |
Classification — Renvoie l’étiquette prédite avec le score le plus élevé
on
(par défaut) | off
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' |
Prédictions — Renvoie tous les scores et les étiquettes associées
off
(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 d’espace de travail pour les noms de classes — Variable d’espace de travail contenant les noms de classes de la sortie du réseau
classNames
(par défaut) | vecteur catégoriel | tableau de chaînes de caractères | cell array de vecteurs de caractères
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
Génération de code C/C++
Générez du code C et C++ avec Simulink® Coder™.
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 des cibles basées sur ERT, il faut activer le paramètre Support: variable-size signals dans le volet Code Generation > Interface.
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).
Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU 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 R2020bR2024a: L’utilisation de SeriesNetwork
et DAGNetwork
est déconseillée
À 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
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- 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)