Image Classifier
Klassifizierung von Daten mithilfe eines trainierten neuronalen Deep-Learning-Netzes

Bibliotheken:
Deep Learning Toolbox /
Deep Neural Networks
Beschreibung
Der Image Classifier-Block sagt die Klassenbezeichnungen für die Daten am Eingang voraus, indem er das über den Blockparameter angegebene trainierte Netz verwendet. Dieser Block ermöglicht das Laden eines vortrainierten Netzes in das Simulink®-Modell aus einer MAT-Datei oder aus einer MATLAB®-Funktion.
Beispiele
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).
Einschränkungen
Der Image Classifier-Block unterstützt keine Sequenznetze und Netze mit mehreren Eingängen und mehreren Ausgängen (MIMO).
Der Image Classifier-Block unterstützt keine MAT-Dateiprotokollierung.
Ports
Eingang
Ein h-mal-w-mal-c-mal-N numerisches Array, wobei h, w und c die Höhe, die Breite bzw. die Anzahl der Kanäle der Bilder sind, und N die Anzahl der Bilder ist.
Ein N-mal-numFeatures
numerisches Array, wobei N die Anzahl der Beobachtungen und numFeatures
die Anzahl der Merkmale der Eingangsdaten ist.
Falls das Array NaN
enthält, werden diese durch das Netz propagiert.
Ausgang
Vorausgesagte Klassenbezeichnungen mit der höchsten Punktzahl, zurückgegeben als ein N-mal-1 Aufzählungsvektor von Bezeichnungen, wobei N die Anzahl der Beobachtungen ist.
Vorausgesagte Punktzahlen, zurückgegeben als K-mal-N-Matrix, wobei K die Anzahl der Klassen ist, und N die Anzahl der Beobachtungen ist.
Mit den vorausgesagten Punktzahlen verbundene Bezeichnungen, zurückgegeben als N-mal-K-Matrix, wobei N die Anzahl der Beobachtungen ist, und K die Anzahl der Klassen ist.
Parameter
Geben Sie die Quelle für das trainierte Netz an. Wählen Sie eine der folgenden Möglichkeiten:
Network from MAT-file
– Importieren eines trainierten Netzes aus einer MAT-Datei, die eindlnetwork
-Objekt enthält.Network from MATLAB function
– Importieren eines vortrainierten Netzes aus einer MATLAB-Funktion. Um zum Beispiel ein vortrainiertes GoogLeNet zu verwenden, erstellen Sie eine FunktionpretrainedGoogLeNet
in einer MATLAB-M-Datei und importieren Sie diese Funktion dann.function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Programmatische Nutzung
Blockparameter: Network |
Typ: Zeichenvektor, Zeichenfolge |
Werte: 'Network from MAT-file' | 'Network from MATLAB function' |
Standard: 'Network from MAT-file' |
Dieser Parameter gibt den Namen der MAT-Datei an, die das zu ladende trainierte Deep-Learning-Netz enthält. Wenn sich die Datei nicht im MATLAB-Pfad befindet, verwenden Sie die Schaltfläche Browse, um die Datei zu finden.
Abhängigkeiten
Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MAT-file
.
Programmatische Nutzung
Blockparameter: NetworkFilePath |
Typ: Zeichenvektor, Zeichenfolge |
Werte: MAT-Dateipfad oder -name |
Standard: 'untitled.mat' |
Dieser Parameter gibt den Namen der MATLAB-Funktion für das vortrainierte Deep-Learning-Netz an. Um zum Beispiel ein vortrainiertes GoogLeNet zu verwenden, erstellen Sie eine Funktion pretrainedGoogLeNet
in einer MATLAB-M-Datei und importieren Sie diese Funktion dann.
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
Abhängigkeiten
Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MATLAB function
.
Programmatische Nutzung
Blockparameter: NetworkFunction |
Typ: Zeichenvektor, Zeichenfolge |
Werte: Name der MATLAB-Funktion |
Standard: 'squeezenet' |
Größe der für die Vorhersage zu verwendenden Mini-Batches, angegeben als positive Ganzzahl. Größere Mini-Batches erfordern mehr Speicherplatz, können aber zu schnelleren Vorhersagen führen.
Programmatische Nutzung
Blockparameter: MiniBatchSize |
Typ: Zeichenvektor, Zeichenfolge |
Werte: positive Ganzzahl |
Standard: '128' |
Die Größe der Daten am Eingangsport wird an die Eingangsgröße des Netzes angepasst.
Programmatische Nutzung
Blockparameter: ResizeInput |
Typ: Zeichenvektor, Zeichenfolge |
Werte: 'off' | 'on' |
Standard: 'on' |
Aktivieren des Ausgangsports ypred
, der die Bezeichnung mit der höchsten Punktzahl ausgibt.
Programmatische Nutzung
Blockparameter: Classification |
Typ: Zeichenvektor, Zeichenfolge |
Werte: 'off' | 'on' |
Standard: 'on' |
Aktivieren der Ausgangsports scores
und labels
, die alle vorhergesagten Punktzahlen und die dazugehörigen Klassenbezeichnungen ausgeben.
Programmatische Nutzung
Blockparameter: Predictions |
Typ: Zeichenvektor, Zeichenfolge |
Werte: 'off' | 'on' |
Standard: 'off' |
Variable, die Klassennamen enthält, die als kategorischer Vektor, als Zeichenfolgen-Array oder als Zellen-Array von Zeichenvektoren angegeben werden.
Die Ausgangsgröße des Netzes muss der Anzahl der Klassen entsprechen.
Abhängigkeiten
Um diesen Parameter zu aktivieren, setzen Sie den Network-Parameter auf Network from MAT-file
, um ein trainiertes dlnetwork
-Objekt aus einer MAT-Datei zu importieren.
Programmatische Nutzung
Blockparameter: classNames |
Typ: Variablenname eines kategorischen Vektors, eines Zeichenfolgen-Arrays oder eines Zellen-Arrays von Zeichenvektoren. |
Werte: Name einer Variablen, die Klassennamen enthält, angegeben als kategorischer Vektor, als Zeichenfolgen-Array oder als Zellen-Array von Zeichenvektoren. |
Standard: Die Workspace-Variable classNames . |
Tipps
Sie können Ihre Simulationen mit Codegenerierung beschleunigen, indem Sie die Vorteile der Intel® MKL-DNN-Bibliothek nutzen. Weitere Einzelheiten finden Sie unter Acceleration for Simulink Deep Learning Models.
Erweiterte Fähigkeiten
Verwendungshinweise und Einschränkungen:
Um generischen C Code zu erzeugen, der nicht von Bibliotheken von Drittanbietern abhängt, setzen Sie in der allgemeinen Kategorie Configuration Parameters > Code Generation den Language-Parameter auf
C
.Um C++ Code zu erzeugen, setzen Sie in der allgemeinen Kategorie Configuration Parameters > Code Generation den Language-Parameter auf
C++
. Um die Zielbibliothek für die Codegenerierung festzulegen, stellen Sie in der Kategorie Code Generation > Interface den Parameter Target Library ein. Wird dieser Parameter aufNone
gesetzt, wird generischer C++ Code erzeugt, der nicht von Bibliotheken von Drittanbietern abhängig ist.Eine Liste der Netze und Schichten, die für die Codegenerierung unterstützt werden, finden Sie unter Networks and Layers Supported for Code Generation (MATLAB Coder).
Verwendungshinweise und Einschränkungen:
Der Language-Parameter in der allgemeinen Kategorie Configuration Parameters > Code Generation muss auf
C++
gesetzt sein.Eine Liste der Netze und Schichten, die für CUDA®-Codegenerierung unterstützt werden, finden Sie unter Supported Networks, Layers, and Classes (GPU Coder).
Um mehr über die Generierung von Code für Simulink-Modelle zu erfahren, die den Image Classifier-Block enthalten, finden Sie unter Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder).
Versionsverlauf
Eingeführt in R2020bAb R2024a werden die Objekte SeriesNetwork
und DAGNetwork
nicht mehr empfohlen. Diese Empfehlung bedeutet, dass SeriesNetwork
- und DAGNetwork
-Eingänge zum Image Classifier-Block nicht empfohlen werden. Verwenden Sie stattdessen die dlnetwork
-Objekte. dlnetwork
-Objekte haben folgende Vorteile:
dlnetwork
-Objekte haben einen einheitlichen Datentyp, der die Erstellung von Netzwerken, Vorhersagen, integriertes Training, Visualisierung, Komprimierung, Verifikation und benutzerdefinierte Trainingsschleifen unterstützt.dlnetwork
-Objekte unterstützen eine breitere Palette von Netzwerkarchitekturen, die Sie erstellen oder von externen Plattformen importieren können.Die Funktion
trainnet
unterstütztdlnetwork
-Objekte, so dass Sie Verlustfunktionen einfach angeben können. Sie können aus integrierten Verlustfunktionen wählen oder eine benutzerdefinierte Verlustfunktion angeben.Training und Vorhersage mit
dlnetwork
-Objekten ist in der Regel schneller alsLayerGraph
- undtrainNetwork
-Workflows.
Simulink-Blockmodelle mit dlnetwork
-Objekten verhalten sich unterschiedlich. Die vorhergesagten Werte werden als K-mal-N-Matrix zurückgegeben, wobei K die Anzahl der Klassen und N die Anzahl der Beobachtungen ist. Wenn Sie ein bestehendes Simulink-Blockmodell mit einem SeriesNetwork
- oder DAGNetwork
-Objekt haben, führen Sie die folgenden Schritte aus, um stattdessen ein dlnetwork
-Objekt zu verwenden:
Konvertieren Sie das
SeriesNetwork
- oderDAGNetwork
-Objekt in eindlnetwork
mithilfe der Funktiondag2dlnetwork
.Definieren Sie eine Workspace-Variable, die die Klassennamen des Netzausgangs enthält, die dem Blockparameter Class names workspace variable entsprechen.
Transponieren Sie die vorhergesagten Werte mithilfe eines Transpositionsblocks in ein N-mal-K-Array, wobei N die Anzahl der Beobachtungen, und K die Anzahl der Klassen ist.
Siehe auch
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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)