Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

Prototypisierung und Bereitstellung von Deep Learning-Netzen auf FPGAs und SoCs

Jetzt beginnen:

Deep Learning-Inferenz auf FPGAs

Prototypisierung und Implementierung von Deep Learning-Netzen auf FPGAs für Edge Deployment.

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.

Architektur für den Deep Learning-Prozessor.

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.

Kompilieren und Bereitstellen eines YOLO v2-Netzes.

Jetzt mit vorgefertigten Bitstreams beginnen

Prototypisieren Ihres Netzes ohne FPGA-Programmierung mit verfügbaren Bitstreams für gängige FPGA-Entwicklungskits.

FPGA-basierte Inferenz in MATLAB

Mit MATLAB Deep Learning-Inferenzierung auf FPGAs durchführen.

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.

Mit MATLAB können Sie Karte und Schnittstelle konfigurieren, das Netz kompilieren und es auf dem FPGA bereitstellen.

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.

Führen Sie MATLAB-Anwendungen aus, die Deep Learning-Inferenzen auf dem FPGA durchführen.

Netzanpassung

Optimieren Sie Ihr Deep Learning-Netz, um anwendungsspezifische Anforderungen auf Ihrem Ziel-FPGA oder SoC-Gerät zu erfüllen.

Profil-FPGA-Inferenzierung

Messen Sie die Latenzzeit auf Schichtebene, während Sie Prognosen auf dem FPGA ausführen, um Leistungsengpässe zu finden.

Profil Deep Learning-Netz-Inferenz auf einem FPGA von MATLAB.

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.

Einsatz von benutzerdefinierten RTL-Implementierungen

Bereitstellen von benutzerdefinierten RTL-Implementierungen des Deep Learning-Prozessors auf jedem FPGA-, ASIC- oder SoC-Baustein mit dem HDL Coder.

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 synthetisierbarem RTL aus dem Deep Learning-Prozessor.

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.

Die Schnittstellen-Tabelle der Zielplattform zeigt die Zuordnung zwischen E/A- und AXI-Schnittstellen.