Deep Learning Toolbox

 

Deep Learning Toolbox

Deep Learning-Netze entwickeln, trainieren und analysieren

Jetzt beginnen:

Netze und Architekturen

Trainieren Sie Deep Learning-Netze für Klassifikation, Regression und Feature-Lernen an Bild-, Zeitreihen- und Textdaten.

Konvolutionäre neuronale Netze

Erlernen Sie Muster in Bildern, um Objekte, Gesichter und Szenen zu erkennen. Erstellen und trainieren Sie konvolutionäre neuronale Netze (CNNs) für die Merkmalsextraktion und Bilderkennung.

LSTM-Netze (Long Short-Term Memory)

Lernen Sie langfristige Abhängigkeiten in Sequenzdaten, einschließlich Signal-, Audio-, Text- und anderen Zeitreihendaten. Erstellen und trainieren Sie LSTM-Netze (Long Short-Term Memory), um Klassifikations- und Regressionsaufgaben durchzuführen. 

Arbeiten mit LSTMs.

Netzarchitekturen

Verwenden Sie verschiedene Netzstrukturen wie gerichtete azyklische Graphen (DAGs) und rekurrente Architekturen, um Ihr Deep-Learning-Netz zu erstellen. Erstellen Sie komplexere Netzarchitekturen, wie Generative Adversarial Networks (GANs) und Siamesische Netze, indem Sie benutzerdefinierte Trainings-Schleifen, gemeinsame Gewichte und die automatische Differenzierung verwenden.

Arbeiten mit unterschiedlichen Netzarchitekturen.

Entwurf und Analyse von Netzen

Erstellen, visualisieren, experimentieren und analysieren Sie Deep Learning-Netze mit interaktiven Anwendungen.

Entwerfen von Deep-Learning-Netzen

Erstellen und trainieren Sie ein tiefes Netz von Grund auf mit der Deep Network Designer-App. Importieren Sie ein vortrainiertes Modell, visualisieren Sie die Netzstruktur, bearbeiten Sie die Schichten, stimmen Sie die Parameter ab und trainieren Sie.

Analysieren von Deep-Learning-Netzen

Analysieren Sie Ihre Netzarchitektur, um Fehler, Warnungen und Probleme der Kompatibilität verbundener Schichten vor dem Training zu erkennen und zu debuggen. Visualisieren Sie die Netztopologie und sehen Sie sich Details wie lernbare Parameter und Aktivierungen an.

Analysieren einer Deep-Learning-Netzarchitektur.

Verwalten Sie Deep Learning-Experimente

Verwalten Sie mehrere Deep Learning-Experimente mit der Experiment-Manager-App. Verfolgen Sie die Trainingsparameter, analysieren Sie die Ergebnisse und vergleichen Sie Code aus verschiedenen Experimenten. Verwenden Sie Visualisierungswerkzeuge wie z.B. Trainingsdiagramme und Verwirrungsmatrizen, sortieren und filtern Sie Versuchsergebnisse und definieren Sie benutzerdefinierte Metriken, um trainierte Modelle zu bewerten.

Transfer Learning und vortrainierte Modelle

Importieren Sie vortrainierte Modelle zur Inferenz in MATLAB.

Transfer Learning

Greifen Sie auf vortrainierte Netze zu und nutzen Sie diese als Ausgangspunkt, um eine neue Aufgabe zu erlernen. Führen Sie Transfer-Lernen durch, um die gelernten Funktionen im Netz für eine bestimmte Aufgabe zu nutzen.

Vortrainierte Modelle

Zugriff auf vortrainierte Netze aus der neuesten Forschung mit einer einzigen Zeile Code. Importieren Sie vortrainierte Modelle, einschließlich DarkNet-53, ResNet-50, SqueezeNet, NASNet und Inception-v3.

Analyse von vortrainierten Modellen.

Visualisierung und Debugging

Visualisieren Sie den Trainingsfortschritt und die Aktivierung der gelernten Funktionen in einem Deep-Learning-Netz.

Trainingsfortschritt

Sehen Sie sich den Trainingsfortschritt in jeder Iteration mithilfe von Diagrammen für verschiedene Metriken an. Zeichnen Sie Validierungsmetriken gegen Trainingsmetriken auf, um zu sehen, ob das Netzwerk überdimensioniert ist

Überwachen des Trainingsfortschritts Ihres Modells.

Netzaktivierungen

Extrahieren Sie Aktivierungen, die zu einer Ebene gehören, visualisieren Sie gelernte Funktionen, und trainieren Sie einen Klassifikator für maschinelles Lernen anhand der Aktivierungen. Verwenden Sie den Grad-CAM-Ansatz, um zu verstehen, warum ein Deep-Learning-Netz seine Klassifikationsentscheidungen trifft.

Visualisieren von Aktivierungen.

Interoperabilität mit anderen Frameworks

Nutzen Sie die Interoperabilität mit Deep-Learning-Frameworks von MATLAB.

ONNX-Konverter

Importieren und exportieren Sie ONNX-Modelle innerhalb von MATLAB® , um die Kompatibilität mit anderen Deep Learning-Frameworks zu gewährleisten. Mit ONNX können Modelle in einem Framework trainiert und dann für die Inferenz in ein anderes übertragen werden. Verwenden Sie den  GPU Coder™ , um optimierten NVIDIA® CUDA® Code zu generieren, und verwenden Sie MATLAB Coder™, um C++ Code für das importierte Modell zu generieren.

Interoperabilität mit Deep-Learning-Frameworks.

Importfunktion für TensorFlow-Keras

Importieren Sie Modelle aus TensorFlow-Keras in MATLAB, um sie für die Inferenz und das Transfer Learning zu nutzen. Verwenden Sie den  GPU Coder , um optimierten CUDA-Code zu generieren, und den  MATLAB Coder , um C++-Code für das importierte Modell zu generieren.

Importfunktion für Caffe

Importieren Sie Modelle aus Caffe Model Zoo in MATLAB, um sie für die Inferenz und das Transfer Learning zu nutzen.

Importieren von Modellen aus Caffe Model Zoo in MATLAB.

Beschleunigung des Trainings

Beschleunigen Sie das Training für Deep Learning mithilfe von GPU-, Cloud- und verteiltem Rechnen. 

GPU-Beschleunigung

Beschleunigen Sie das Training für Deep Learning und die Inferenz mit leistungsstarken NVIDIA-GPUs. Führen Sie das Training auf einer einzelnen GPU Ihrer Workstation durch, oder skalieren Sie es mit DGX-Systemen in Rechenzentren oder in der Cloud auf mehrere GPUs. Sie können MATLAB mit der Parallel Computing Toolbox und den meisten CUDA-fähigen NVIDIA-GPUs mit Rechenleistung 3.0 oder höher verwenden.

Beschleunigung mit GPUs.

Cloud-Beschleunigung

Verringern Sie den Zeitaufwand für das Training für Deep Learning mithilfe von Cloud-Instanzen. Verwenden Sie leistungsstarke GPU-Instanzen für beste Ergebnisse.

Beschleunigen des Trainings in der Cloud mit der Parallel Computing Toolbox und MATLAB Parallel Server.

Verteiltes Rechnen

Führen Sie das Training für Deep Learning auf mehreren Prozessoren auf mehreren Servern in einem Netzwerk mit MATLAB Parallel Server durch.

Hochskalieren von Deep Learning durch Parallelisierung und in der Cloud.

Codegenerierung und -bereitstellung

Setzen Sie trainierte Netze für eingebettete Systeme ein oder integrieren Sie diese in Produktionsumgebungen.

Simulation

Simulieren und generieren Sie Code für Deep Learning-Netzwerke in Simulink®. Verwenden Sie AlexNet, GoogLeNet und andere bereits trainierte Modelle. Sie können sowohl Netzwerke simulieren, die völlig neu oder durch Transfer Learning erstellt wurden als auch LSTM Netzwerke. Beschleunigen Sie die Ausführung Ihres Deep Learning-Netzwerks in Simulink mithilfe von GPU Coder und NVIDIA-Grafikkarten. Simulieren Sie Deep Learning-Netzwerke mit Regelungs-, Signalverarbeitungs- und Sensor-Fusion-Komponenten zur Bewertung der Auswirkungen Ihres Deep Learning-Modells auf die Performance auf Systemebene.

Tiefe, faltende neuronale Netze in einem Simulink®-Modell zur Erkennung von Fahrspuren und Fahrzeugen

Code-Generierung

Verwenden Sie den GPU Coder, um aus MATLAB-Code optimierten CUDA-Code für Deep Learning, eingebettetes Sehen und autonome Systeme zu generieren. Verwenden Sie den MATLAB Coder zur Erzeugung von C++Code, um Deep Learning-Netze für Intel® Xeon® und ARM® Cortex®-A-Prozessoren bereitzustellen. Automatisieren Sie die wechselseitige Kompilierung und Bereitstellung des generierten Codes auf den Plattformen NVIDIA Jetson™ und DRIVE™ sowie auf den Boards von Raspberry Pi™.

Quantisierung von Deep Learning

Quantisieren Sie Ihr Deep Learning-Netzwerk nach INT8 und analysieren Sie den Kompromiss hinsichtlich der Genauigkeit der Quantisierung der Gewichte und Verzerrungen ausgewählter Schichten mit Hilfe des Unterstützungspakets der Modellquantisierungsbibliothek.

Bereitstellen von Standalone-Anwendungen

Verwenden Sie MATLAB Compiler™ und MATLAB Compiler SDK™, um geschulte Netze als gemeinsam genutzte C++Bibliotheken, Microsoft® .NET-Assemblies, Java®-Klassen und Python®-Pakete aus MATLAB-Programmen mit tiefgehenden Lernmodellen bereitzustellen.

Weitergeben eigenständiger MATLAB-Programme mit dem MATLAB Compiler.

Flache neuronale Netze

Verwenden Sie neuronale Netze mit einer Reihe unterschiedlicher Architekturen für überwachtes und unüberwachtes Lernen.

Überwachtes Lernen

Trainieren Sie flache neuronale Netze, um dynamische Systeme zu modellieren und zu steuern, verrauschte Daten zu klassifizieren und zukünftige Ereignisse vorherzusagen. 

Flaches neuronales Netz.

Unüberwachtes Lernen

Finden Sie Beziehungen innerhalb von Daten, und definieren Sie automatisch Klassifikationsschemas, wobei sich das Netz ständig den neuen Eingaben anpasst. Verwenden Sie selbstorganisierende Netze für unüberwachtes Lernen sowie Competitive-Layers und selbstorganisierende Karten.

Selbstorganisierende Karte.

Geschichtete Auto-Encoder

Führen Sie eine unüberwachte Merkmalstransformation durch, indem Sie niedrigdimensionale Merkmale mithilfe von Auto-Encodern aus Ihrem Datensatz extrahieren. Sie können außerdem geschichtete Auto-Encoder für das überwachte Lernen verwenden, indem Sie mehrere Encoder trainieren und schichten.

Gestapelter Encoder.