Deep Network Designer
Entwurf und Visualisierung von Deep-Learning-Netzen
Beschreibung
Mit der App Deep Network Designer können Sie Deep-Learning-Netze importieren, erstellen, visualisieren und bearbeiten. Mit dieser App können Sie:
Netze erstellen, bearbeiten und kombinieren
Vortrainierte Netze laden und für das Transfer Learning bearbeiten
Netze aus PyTorch® und TensorFlow™ importieren
Netze analysieren, um sicherzustellen, dass die Architektur korrekt definiert ist
Mithilfe von Komprimierungstechniken Netze auf Speicherreduzierung analysieren.
Netz nach Simulink® exportieren
MATLAB®-Code zum Erstellen von Netzen generieren

Öffnen Sie die Deep Network Designer-App
MATLAB-Symbolleiste: Klicken Sie auf der Registerkarte Apps unter Machine Learning and Deep Learning auf das App-Symbol.
MATLAB-Eingabeaufforderung: Geben Sie
deepNetworkDesignerein.
Beispiele
Erstellen Sie ein Klassifizierungsnetz für numerische Merkmalsdaten.
Öffnen Sie Deep Network Designer.
deepNetworkDesigner
Zum Erstellen eines leeren Netzes zeigen Sie mit der Maus auf Blank Network (Leeres Netz) und klicken Sie auf New. Die App öffnet eine leere Zeichenfläche, in die Sie Schichten mit Drag-and-Drop ziehen und ablegen können.
Ziehen Sie aus der Layer Library (Schichtenbibliothek) eine featureInputLayer auf die Zeichenfläche. Sie können den Filter Layer Library zur Suche nach Schichten verwenden. Wählen Sie die Schicht aus. Setzen Sie im Bereich Properties (Eigenschaften) die Option Normalization auf "zscore" und InputSize auf die Anzahl der Merkmale in Ihren Daten. Ziehen Sie dann eine fullyConnectedLayer auf die Zeichenfläche. Um die Schichten zu verbinden, fahren Sie über die featureInputLayer und klicken Sie auf den out-Port. Ziehen Sie den Pfeil auf den in-Port der fullyConnectedLayer.

Fügen Sie eine layerNormalizationLayer gefolgt von einer reluLayer auf der Zeichenfläche ein und verbinden Sie sie nacheinander.

Zum Schluss fügen Sie eine fullyConnectedLayer gefolgt von einer softmaxLayer hinzu und verbinden sie. Für die letzte fullyConnectedLayer wählen Sie die Schicht aus und setzen den Wert OutputSize auf die Anzahl der Klassen in Ihren Daten.
Um die Schichten automatisch auszurichten, klicken Sie auf Auto Arrange.

Um zu prüfen, ob das Netz für das Training bereit ist, wählen Sie Analyze (Analysieren). Der Deep Learning Network Analyzer zeigt, dass das Netz keine Warnungen oder Fehler aufweist.

Um das Netz in den Workspace zu exportieren, klicken Sie auf Export (Exportieren). Um Code zur Neuerstellung des Netzes zu generieren, klicken Sie auf Export > Generate Network Code Without Parameters (Netzcode ohne Parameter generieren).
Bereiten Sie ein Netz für Transfer Learning vor, indem Sie es im Deep Network Designer bearbeiten.
Beim Transfer Learning wird ein zuvor trainiertes Deep-Learning-Netz für das Erlernen einer neuen Aufgabe abgestimmt. Sie können Merkmale, die mit Transfer Learning erlernt wurden, schnell einer neuen Aufgabe hinzufügen und dabei weniger Trainingsbilder verwenden. Transfer Learning ist daher oft schneller und einfacher als das Training eines Netzes von Grund auf. Um ein vortrainiertes Netz für das Transfer Learning zu verwenden, müssen Sie die Anzahl der Klassen an den neuen Datensatz anpassen.
Deep Network Designer bietet eine Auswahl an vortrainierten Bild- und Audionetzen. Um die vortrainierten Netze zu untersuchen, öffnen Sie den Deep Network Designer.
deepNetworkDesigner

Für dieses Beispiel halten Sie bei SqueezeNet an und klicken auf Open (Öffnen).

Um das Netz für das Transfer Learning vorzubereiten:
Setzen Sie die Anzahl der Klassen auf die neue Anzahl der Klassen. Dies setzt die Eigenschaft
NumFiltersin der letzten lernbaren Schicht. Die EigenschaftNumFilterslegt die Anzahl an Klassen für Klassifizierungsprobleme fest.Steigern Sie die Lerngeschwindigkeit der letzten lernbaren Schicht, sodass das Lernen in der letzten lernbaren Schicht schneller erfolgt als in den transferierten Schichten. Dies setzt die Eigenschaften
WeightLearnRateFactorundBiasLearnRateFactorder letzten lernbaren Schicht.Klicken Sie auf Import.
Vor R2025b: Um das Netz an die neuen Daten anzupassen, müssen Sie auf die letzte lernbare Schicht im Fensterbereich Designer und daraufhin auf Unlock Layer (Schicht entsperren) klicken, die Eigenschaft NumFilters auf die Anzahl Klassen in den neuen Daten setzen und die Eigenschaften WeightLearnRateFactor und BiasLearnRateFactor erhöhen.

Überprüfen Sie Ihr Netz, indem Sie auf Analyze klicken. Das Netz ist bereit für das Training, wenn Deep Learning Network Analyzer keine Fehler meldet. Um das vorbereitete Netz in den Workspace zu exportieren, klicken Sie auf Export (Exportieren). Um einen MATLAB Programmcode zur Erstellung des Netzes zu generieren, klicken Sie auf Generate Network Code (Netzcode generieren).
Ein Beispiel für das Training eines Netzes zur Klassifizierung neuer Bilder finden Sie unter Vorbereiten des Netzes auf Transfer Learning mithilfe von Deep Network Designer.
Importieren Sie ein neuronales Netz aus PyTorch® oder TensorFlow™.
Für dieses Beispiel importieren Sie das MNASNet (Copyright© Soumith Chintala 2016) PyTorch-Modell. Laden Sie die Datei mnasnet1_0, die etwa 17 MB groß ist, von der MathWorks-Website herunter.
modelfile = matlab.internal.examples.downloadSupportFile("nnet", ... "data/PyTorchModels/mnasnet1_0.pt");
Um ein Netz von einer externen Plattform zu importieren, verwenden Sie Deep Network Designer.
deepNetworkDesigner
Sie können Modelle aus PyTorch® oder TensorFlow™ importieren.

Klicken Sie bei PyTorch®-Modellen auf das Symbol From PyTorch (Aus PyTorch). Kopieren Sie im Dialogfeld Import PyTorch Model (PyTorch-Modell importieren) den Speicherort der Modelldatei und klicken Sie dann auf Import (Importieren).

Beim Importieren von PyTorch-Netzken mit Deep Network Designer haben Sie die Möglichkeit, die Eingabegrößen des Netzes anzugeben. Diese Option ist nur verfügbar, wenn die Angabe der Eingabegrößen den Import erfolgreicher machen könnte, z. B. durch Verringerung der Anzahl der benutzerdefinierten Schichten.
Die App importiert das Netz und erstellt einen Importbericht. Der Importbericht zeigt alle Probleme mit dem Netz an, die behoben werden müssen, bevor Sie das Netz für das Training oder die Inferenz verwenden können. Der Bericht zeigt zum Beispiel eine Warnung an, wenn die App nicht in der Lage ist, die Eingabegrößen abzuleiten oder wenn Sie Platzhalterschichten ausfüllen müssen.

Ein Beispiel für den Import eines PyTorch®-Netzes in Deep Network Designer und die Behebung von Problemen finden Sie unter Import PyTorch Model Using Deep Network Designer.
Exportieren Sie ein trainiertes Netz aus dem Deep Network Designer nach Simulink®.
Öffnen Sie Deep Network Designer.
deepNetworkDesigner
Die App umfasst zwei Simulink-Exporttypen:
Export zu einem einzigen Netzblock, beispielsweise einem Predict-Block
Export zu mehreren Schichtblöcken
Bei kleinen Netzen, bei denen alle Schichten als Schichtblöcke unterstützt werden, wird der Export zu Schichtblöcken empfohlen. Bei großen Netzen oder Netzen, deren Schichten nicht als Schichtblöcke unterstützt werden, wird der Export zu einem einzigen Netzblock empfohlen. Wenn Ihr Netz Schichten aufweist, die nicht als Schichtblöcke unterstützt werden, wird Ihnen eine Warnung angezeigt.
Export als Schichtblöcke
Für dieses Beispiel halten Sie bei LSTM an und klicken auf Open (Öffnen). Um das Netz nach Simulink zu exportieren, wählen Sie Export > Export to Simulink. Wählen Sie im Dialog Export to Simulink (Zu Simulink exportieren) für die Option Export as (Exportieren als) Multiple Layer Blocks (Mehrschichtblöcke) aus. Wählen Sie einen Speicherort für die Simulink-Datei mit den Netzparametern aus und klicken Sie daraufhin auf Export. Wenn das Netz während des Exports nicht initialisiert ist, versucht die Anwendung, es zu initialisieren.
Die App erstellt ein Simulink-Modell.

Klicken Sie in my_model_1, um die einzelnen Schichtblöcke anzuzeigen.

Eine Liste der als Schichtblöcke unterstützen Schichten finden Sie unter List of Deep Learning Layer Blocks and Subsystems.
Exportieren als Netzblock
Sie können Ihr Modell zudem als einzelnen Netzblock exportieren. Wählen Sie in Deep Network Designer für die Option Export as (Exportieren als) Single Network Block (Einzelner Netzblock). In diesem Beispiel exportiert die App das Netz als Stateful Predict-Block.

Bei zustandsbehafteten neuronalen Netzen verwendet das exportierte Modell einen diskreten Solver mit festem Zeitschritt. Stellen Sie sicher, dass die von Ihnen im Block Stateful Predict oder im lokalen Solver angegebene Schrittzeit den zum Training des Modells verwendeten Zeiten entspricht.
Mit der App Deep Network Designer können Sie MATLAB®-Code generieren, der die Netzarchitektur nachbildet.
Um die Schichten in Ihrem Netz einschließlich aller Anfangsparameter neu zu erstellen, wählen Sie Export > Generate Network Code (Netzcode generieren) aus. Die Anwendung erstellt ein Live-Skript und eine MAT-Datei mit den Anfangsparametern (Gewichte und Verzerrungen) Ihres Netzes. Führen Sie das Skript aus, um die Netzschichten neu zu erstellen, einschließlich der lernbaren Parameter aus der MAT-Datei. Verwenden Sie diese Option, um die Gewichte beizubehalten, wenn Sie Transfer Learning durchführen möchten.
Um nur die Schichten in Ihrem Netz neu zu erstellen, wählen Sie Export > Generate Network Code Without Parameters (Code ohne Anfangsparameter generieren). Dieses Netz enthält keine Anfangsparameter, wie z. B. vortrainierte Gewichte.
Die Ausführung des generierten Skripts gibt die Netzarchitektur als ein dlnetwork-Objekt aus. Ein Beispiel für das Training eines aus Deep Network Designer exportierten Netzes finden Sie unter Erste Schritte mit Deep Network Designer. Weitere Informationen zur Codegenerierung finden Sie unter Generieren von MATLAB-Code aus Network Designer.
Verwandte Beispiele
Programmatische Nutzung
deepNetworkDesigner öffnet die App Deep Network Designer. Wenn Deep Network Designer bereits geöffnet ist, bringt deepNetworkDesigner den Fokus auf die Anwendung.
deepNetworkDesigner( öffnet die App Deep Network Designer und lädt das angegebene Netz in die App. Das Netz kann ein Array von Schichten oder ein net)dlnetwork-Objekt sein. Wenn Sie ein DAGNetwork- oder SeriesNetwork-Objekt importieren, dann versucht die Anwendung, das Netz in ein dlnetwork-Objekt umzuwandeln. Weitere Informationen finden Sie unter dag2dlnetwork. Wenn Sie ein LayerGraph-Objekt importieren, dann versucht die Anwendung, es in ein dlnetwork-Objekt umzuwandeln.
Wenn Deep Network Designer bereits geöffnet ist, setzt deepNetworkDesigner(net) den Fokus auf die App und fordert Sie auf, ein vorhandenes Netz hinzuzufügen oder zu ersetzen.
deepNetworkDesigner(___, öffnet die alte Version (vor R2024a) der Anwendung. Diese Version unterstützt "-v1")DAGNetwork-, SeriesNetwork- und LayerGraph-Objekte. Weitere Informationen finden Sie unter Änderung des Standardverhaltens.
Tipps
Zum interaktiven Erstellen und Trainieren neuronaler Deep-Learning-Netze für Zeitreihenaufgaben verwenden Sie die App Time Series Modeler. Weitere Informationen finden Sie unter Get Started with Time Series Forecasting.
Versionsverlauf
Eingeführt in R2018bSie können diese Objekte nun in Deep Network Designer importieren:
ClassificationNeuralNetwork(Statistics and Machine Learning Toolbox)CompactClassificationNeuralNetwork(Statistics and Machine Learning Toolbox)RegressionNeuralNetwork(Statistics and Machine Learning Toolbox)CompactRegressionNeuralNetwork(Statistics and Machine Learning Toolbox)
Während des Imports konvertiert die App diese Objekte zu dlnetwork-Objekten.
Sie können nun ExportedProgram-Objekte aus PyTorch importieren, die über torch.export.export() exportiert wurden. Das Modell muss mit PyTorch Version 2.8 exportiert werden.
An der Deep Network Designer App wurden mehrere Verbesserungen vorgenommen:
Wählen Sie einen Teil des Netzes aus und vergrößern Sie diesen über die Schaltfläche Fit to Selection.
Importieren Sie Netze direkt aus MAT-Dateien (
*.mat) in die App.Importieren Sie Netze und einzelne Schichten mit weniger Klicks aus dem MATLAB-Workspace, indem Sie die Schaltfläche From Workspace in der App-Symbolleiste verwenden.
Über den Fensterbereich Property können Sie lange Beschreibungen für benutzerdefinierte Schichten anzeigen. Lange Beschreibungsnamen sind üblich, wenn Netze von externen Plattformen importiert werden.
Sie können Netzschichten einfach über die Schaltfläche „Open Subnetwork“ (Subnetz öffnen) betrachten.
Verbesserungen am Simulink-Export-Workflow. Die App verwendet nun die Netzeingänge zur automatischen Konfiguration des Predict-Blocks zur Simulation. Bei Netzen mit Sequenzeingängen konfiguriert die App zudem den Simulations-Solver darauf, einen festen Zeitschritt zu verwenden.
Wenn Sie ein Netz mit verschachtelten Schichten (beispielsweise
networkLayer) an Simulink exportieren, erweitert die App automatisch die verschachtelten Schichten, um Kompatibilität mit Codegenerierungs-Workflows zu ermöglichen.Verbesserungen an der Anordnung der Verbindungen auf der Zeichenfläche minimieren die Überlappung von Schichten und Verbindungen.
In der Deep Network Designer App können Sie nun einfach vortrainierte Bildnetze an Transfer Learning anpassen. Wenn Sie ein vortrainiertes Bildnetz auf der Startseite des Deep Network Designers öffnen, verwenden Sie das neue Dialogfeld „Customize Pretrained Network“ (Vortrainiertes Netz anpassen), um die Anzahl der Klassen und die Lerngeschwindigkeit in der letzten lernbaren Schicht zu ändern.
Ein Beispiel zur Anpassung eines vortrainierten Netzes für Transfer Learning finden Sie unter Erste Schritte mit Transfer Learning.
Verwenden Sie Deep Network Designer, um verschachtelte Schichten zu betrachten. Sie können beispielsweise nun das Innere von NetworkLayer-Objekten betrachten. Verschachtelte Schichten sind üblich, wenn Netze von externen Plattformen wie PyTorch und TensorFlow importiert werden. Doppelklicken Sie auf eine Schicht, um das Innere einer verschachtelten Schicht zu betrachten. Ein Beispiel zum Erstellen, Visualisieren und Trainieren von Netzen mit verschachtelten Schichten finden Sie unter Create and Train Network with Nested Layers.
Ab R2025a stellt Deep Network Designer die PyTorch- und TensorFlow-Netzzusammensetzung mithilfe von NetworkLayer-Objekten dar. Vor R2025a stellt die App die Netzzusammensetzung mithilfe von verschachtelten benutzerdefinierten Schichten dar.
Verwenden Sie Deep Network Designer, um tiefe neuronale Netze zu Simulink-Schichtblöcken zu exportieren. Die App gibt ein Simulink-Modell zurück, das Blöcke enthält, die den Schichten in Ihrem Netz entsprechen. Weitere Informationen zu unterstützten Schichten finden Sie unter List of Deep Learning Layer Blocks and Subsystems.
Ab R2025a wählt die App das Standardverhalten basierend auf Ihrer Netzarchitektur, wenn ein Netz zu Simulink exportiert wird. Werden alle Schichten als Schichtblöcke unterstützt, ist der Standard-Exporttyp Schichtblöcke. Andernfalls findet der Export standardmäßig zu Netzblöcken wie Predict- Stateful Predict-Blöcken statt.
Ab R2025a werden Informationen zur Quantisierung in den Bericht der Option Analyze for Compression (Komprimierung analysieren) aufgenommen.
Der Komprimierungsanalysebericht umfasst nun:
Maximale mögliche Speicherreduzierung durch Quantisierung
Quantisierungsunterstützung für Schichten Ihres Netzes
Weitere Informationen über Komprimierungstechniken für neuronale Netze finden Sie unter Reduce Memory Footprint of Deep Neural Networks.
Deep Network Designer umfasst nun mehrere Funktionen, die die Benutzererfahrung bei der Verwendung der App verbessern:
Tastenkürzel zum Bestätigen oder Verwerfen von Dialogfenstern.
Angeben des Exportnamens Ihres Netzes.
Anzeigen von Netzanalyse-Informationen direkt in der App.
Die Startseite des Deep Network Designer verfügt nun über eine Vorlage für mehrschichtige neuronale Perzeptron-Netze (MLP, multilayer perceptron). Mit dieser Vorlage können Sie schnell MLP-Netze erstellen, die sich für Merkmals-Klassifizierungsaufgaben eignen.
Sie können nun Deep Network Designer zur Analyse der Komprimierbarkeit neuronaler Netze verwenden. Sie können beispielsweise mithilfe von Taylor-Pruning oder -Projektion die maximale Speicherreduzierung Ihrer Netzschichten überprüfen.
Öffnen Sie Ihr Netz in Deep Network Designer. Klicken Sie daraufhin auf Analyze for Compression.
Der Komprimierungsanalysebericht umfasst Informationen über:
Maximale mögliche Speicherreduzierung
Unterstützung für Pruning und Projektion
Auswirkung der Netzarchitektur auf die Fähigkeit zum Pruning einzelner Schichten
Schichtspeicher
Die Startseite des Deep Network Designer verfügt nun über Vorlagen für 1D-Convolutional Neural Networks. Mit diesen Vorlagen können Sie schnell 1D-Convolutional Neural Networks erstellen, die sich für Sequenz-Kennzeichnungs- und Sequenz-Sequenz-Klassifizierungsaufgaben eignen.
Ab Version R2024a erstellt Deep Network Designer dlnetwork-Objekte standardmäßig. Wenn Sie ein DAGNetwork- oder SeriesNetwork-Objekt importieren, dann versucht die Anwendung, das Netz in ein dlnetwork-Objekt umzuwandeln. Weitere Informationen finden Sie unter dag2dlnetwork. Wenn Sie ein LayerGraph-Objekt importieren, dann versucht die Anwendung, es in ein dlnetwork-Objekt umzuwandeln.
dlnetwork-Objekte haben mehrere Vorteile und werden empfohlen anstelle von DAGNetwork-, SeriesNetwork- oder LayerGraph-Objekten.
dlnetwork-Objekte sind ein einheitlicher Datentyp, der die Erstellung von Netzen, 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
trainnetunterstü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.
Um das App-Verhalten von vor R2024a zu replizieren, verwenden Sie die Kennzeichnung "-v1".
deepNetworkDesigner("-v1") deepNetworkDesigner(net,"-v1")
Vergleich des Verhaltens von Deep Network Designer
Nicht empfohlen | Empfohlen |
|---|---|
Wenn Sie in der Legacy-Version von Deep Network Designer mit
| Wenn Sie in Deep Network Designer ab R2024a mit
|
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)