Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

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:

  1. imageInputLayer, die Eigenschaft InputSize ist auf 28,28,1 festgelegt

  2. convolution2dLayer

  3. batchNormalizationLayer

  4. reluLayer

  5. fullyConnectedLayer, die Eigenschaft OutputSize ist auf 10 festgelegt

  6. softmaxLayer

  7. 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

|

Verwandte Themen