Die Deep Learning HDL Toolbox™ stellt Funktionen und Tools zur Verfügung, um Deep Learning-Netze auf FPGAs und SoCs zu prototypisieren und zu implementieren. Sie bietet vorgefertigte Bitstreams für die Ausführung zahlreicher Deep Learning-Netze auf unterstützten Xilinx®- und Intel®-FPGA- und SoC-Bausteinen. Mit Profilerstellungs- und Schätzwerkzeugen können Sie ein Deep Learning-Netz durch die Untersuchung von Kompromissen bei Design, Leistung und Ressourcennutzung personalisieren.
Mit der Deep Learning HDL Toolbox kann die Hardware-Implementierung Ihres Deep Learning-Netzes angepasst und portabler, synthetisierbarer Verilog®- und VHDL® Code für den Einsatz auf einem beliebigen FPGA (mit HDL Coder™ und Simulink®) generiert werden.
Jetzt beginnen:
Programmierbarer Deep Learning-Prozessor
Die Toolbox enthält einen Deep Learning-Prozessor mit generischer Faltung und vollständig verbundenen Schichten, die durch eine Scheduling-Logik gesteuert werden. Dieser Deep Learning-Prozessor führt FPGA-basierte Inferenzierung von Netzen durch, die mit der Deep Learning Toolbox™ entwickelt wurden. Speicherschnittstellen mit hoher Bandbreite beschleunigen die Speicherübertragung von Layer- und Gewichtsdaten.
Kompilierung und Bereitstellung
Kompilieren Sie Ihr Deep Learning-Netz in eine Reihe von Anweisungen, die vom Deep Learning-Prozessor ausgeführt werden sollen. Stellen Sie sie auf dem FPGA bereit und führen Sie die Prognosefunktion aus, während Sie die tatsächlichen Leistungsmetriken auf dem Gerät erfassen.
Jetzt mit vorgefertigten Bitstreams beginnen
Prototypisieren Ihres Netzes ohne FPGA-Programmierung mit verfügbaren Bitstreams für gängige FPGA-Entwicklungskits.
Erstellen eines Bereitstellungsnetzwerkes
Zunächst nutzen Sie die Deep Learning Toolbox zum Entwickeln, Trainieren und Analysieren Ihres Deep Learning-Netzes für Aufgaben wie Objekterkennung oder -klassifizierung. Sie können als Erstes auch ein trainiertes Netz oder Schichten aus anderen Frameworks importieren.
Bereitstellen Ihres Netzes auf dem FPGA
Sobald Sie ein trainiertes Netz haben, programmieren Sie mit dem deploy
-Befehl den FPGA mit dem Deep Learning-Prozessor zusammen mit der Ethernet- oder JTAG-Schnittstelle. Verwenden Sie dann den compile
-Befehl, um einen Befehlssatz für Ihr trainiertes Netz zu generieren, und zwar ohne den FPGA neu zu programmieren.
Ausführen von FPGA-basierter Inferenzierung als Teil Ihrer MATLAB-Anwendung
Ausführen Ihrer gesamten Anwendung in MATLAB®, einschließlich des Prüfstands, der Vor- und Nachverarbeitungsalgorithmen und der FPGA-basierten Inferenz für Deep Learning. Ein einziger MATLAB-Befehl, nämlich predict
, führt die Inferenzierung auf dem FPGA durch und gibt die Ergebnisse an den MATLAB-Workspace zurück.
Profil-FPGA-Inferenzierung
Messen Sie die Latenzzeit auf Schichtebene, während Sie Prognosen auf dem FPGA ausführen, um Leistungsengpässe zu finden.
Abstimmen des Netzdesigns
Abstimmen Ihrer Netzkonfiguration mithilfe der Profilmetriken mit der Deep Learning Toolbox. Mit dem Deep Network Designer können Sie beispielsweise Schichten hinzufügen, entfernen oder neue Verbindungen erstellen.
Quantisierung von Deep Learning
Reduzieren der Ressourcennutzung durch Quantisierung Ihres Deep Learning-Netzes auf eine Festkomma-Darstellung. Analyse der Ansätze in Bezug auf Genauigkeit und Ressourcennutzung mit dem Support-Paket der Model Quantization Library.
Benutzerdefinierte Konfiguration des Deep Learning-Prozessors
Spezifizieren von Hardware-Architekturoptionen für die Implementierung des Deep Learning-Prozessors, wie z.B. die Anzahl paralleler Threads oder die maximale Schichtgröße.
Synthetisierbares RTL erzeugen
Erzeugen von synthetisierbarem RTL mit dem HDL Coder aus dem Deep Learning-Prozessor zum Einsatz in einer Vielzahl von Implementierungs-Workflows und -Geräten. Wiederverwenden des gleichen Deep Learning-Prozessors für den Prototypen- und Produktionseinsatz.
Generieren von IP-Cores für die Integration
Wenn der HDL Coder RTL aus dem Deep Learning-Prozessor generiert, erzeugt er auch einen IP-Kern mit Standard AXI-Schnittstellen zur Integration in Ihr SoC-Referenzdesign.