Erstellen eines einfachen Netzes zur Bildklassifizierung mithilfe von Deep Network Designer
Dieses Beispiel veranschaulicht, wie Sie ein einfaches Convolutional Neural Network für die Deep-Learning-Klassifizierung mithilfe von Deep Network Designer erstellen und trainieren können. Convolutional Neural Networks sind wichtige Werkzeuge für das Deep Learning und eignen sich vor allem für die Bilderkennung.
Für dieses Beispiel werden Sie wie folgt vorgehen:
Importieren von Bilddaten.
Definieren der Netzarchitektur.
Angeben der Trainingsoptionen.
Trainieren des Netzes.
Laden der Daten
Laden Sie die Zahlenbeispieldaten als „Image Datastore“ (Bilddatenspeicher). Die Funktion imageDatastore
benennt die Bilder automatisch basierend auf den Ordnernamen. Der Datensatz besteht aus 10 Klassen und jedes Bild im Datensatz umfasst 28x28x1 Pixel.
digitDatasetPath = fullfile(matlabroot,'toolbox','nnet','nndemos', ... 'nndatasets','DigitDataset'); imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true, ... 'LabelSource','foldernames');
Öffnen Sie Deep Network Designer. Erstellen Sie ein Netz, importieren und visualisieren Sie Daten und trainieren Sie das Netz mithilfe von Deep Network Designer.
deepNetworkDesigner
Zum Erstellen eines leeren Netzes zeigen Sie mit der Maus auf Blank Network (Leeres Netz) und klicken Sie auf Neu.
Zum Importieren des Image Datastore wählen Sie die Registerkarte Data aus und klicken Sie auf Import Data > Import Image Classification Data. Wählen Sie imds
als Datenquelle aus. Halten Sie 30 % der Trainingsdaten zurück, um sie als Validierungsdaten zu verwenden. Ordnen Sie die Beobachtungen zufällig den Trainings- und Validierungsmengen zu, indem Sie Randomize (Randomisieren) auswählen.
Importieren Sie die Daten, indem Sie auf Import klicken.
Definieren der Netzarchitektur
Definieren Sie im Fensterbereich Designer die Architektur des Convolutional Neural Network. Ziehen Sie Schichten aus dem Fensterbereich Layer Library (Schichtbibliothek) und verbinden Sie diese. Um schnell nach Schichten zu suchen, verwenden Sie das Suchfeld Filter layers (Schichten filtern) im Fensterbereich Layer Library. Zum Bearbeiten der Eigenschaften einer Schicht klicken Sie auf die Schicht und bearbeiten Sie die Werte im Fensterbereich Properties (Eigenschaften).
Verbinden Sie die Schichten in dieser Reihenfolge:
imageInputLayer
, die EigenschaftInputSize
ist auf28,28,1
festgelegtconvolution2dLayer
batchNormalizationLayer
reluLayer
fullyConnectedLayer
, die EigenschaftOutputSize
ist auf10
festgelegtsoftmaxLayer
classificationLayer
Weitere Informationen zu Deep-Learning-Schichten finden Sie unter List of Deep Learning Layers.
Trainieren des Netzes
Geben Sie die Trainingsoptionen an und trainieren Sie das Netz.
Klicken Sie auf der Registerkarte Training auf Training Options. Legen Sie für dieses Beispiel die maximale Anzahl der Epochen auf 5 fest und behalten Sie die anderen Standardeinstellungen bei. Speichern Sie die Trainingsoptionen, indem Sie auf OK klicken. Weitere Informationen zu Trainingsoptionen finden Sie unter Set Up Parameters and Train Convolutional Neural Network.
Trainieren Sie das Netz, indem Sie auf Train klicken.
Die Genauigkeit entspricht dem Anteil der Bezeichnungen, die das Netz richtig vorhersagt. In diesem Fall entsprechen über 97 % der vorhergesagten Bezeichnungen den wahren Bezeichnungen der Validierungsmenge.
Um das trainierte Netz in den Arbeitsbereich zu exportieren, klicken Sie auf der Registerkarte Training auf Export.
In den nächsten Schritten des Deep Learning können Sie versuchen, vortrainierte Netze für andere Aufgaben zu verwenden. Lösen Sie neue Klassifizierungsprobleme für Ihre Bilddaten mithilfe von Transfer Learning. Ein Beispiel finden Sie unter Erste Schritte mit Transfer Learning. Weitere Informationen zu vortrainierten Netzen finden Sie unter Pretrained Deep Neural Networks.
Siehe auch
trainingOptions
| Deep Network Designer
Verwandte Themen
- Erstellen eines einfachen Netzes zur Bildklassifizierung
- Start Deep Learning Faster Using Transfer Learning
- Ausprobieren von Deep Learning mit 10 Zeilen MATLAB-Programmcode
- Klassifizierung eines Bilds mithilfe eines vortrainierten Netzes
- Erste Schritte mit Transfer Learning
- Erstellen eines einfachen Netzes zur Sequenzklassifizierung mithilfe von Deep Network Designer