Deep Learning HDL Toolbox™ propose des fonctions et des outils pour prototyper et implémenter des réseaux de Deep Learning sur des cartes FPGA et SoC. La toolbox offre des bitstreams prédéfinis pour exécuter une variété de réseaux de Deep Learning sur les cartes FPGA et SoC Xilinx® et Intel® supportées. Les outils de profilage et d’estimation vous permettent de personnaliser un réseau de Deep Learning en explorant les compromis entre design, performances et utilisation des ressources.
Avec Deep Learning HDL Toolbox, vous pouvez personnaliser l’implémentation hardware de votre réseau de Deep Learning, et générer du code Verilog® et VHDL® portable et synthétisable pour le déployer sur n’importe quel FPGA (avec HDL Coder™ et Simulink®)
En savoir plus:
Processeur de Deep Learning programmable
Cette toolbox comprend un processeur de Deep Learning qui comporte une convolution générique et des couches entièrement connectées contrôlées par une logique d'ordonnancement. Ce processeur de Deep Learning effectue des inférences basées sur des FPGA pour les réseaux développés avec Deep Learning Toolbox™. Des interfaces mémoire à haute bande passante accélèrent les transferts en mémoire des données des couches et de pondération.
Compilation et déploiement
Compilez votre réseau de Deep Learning en un ensemble d'instructions qui seront exécutées par le processeur. Déployez sur le FPGA et réalisez des prédictions tout en collectant des métriques de performances sur carte.
Débuter avec des bitstreams prédéfinis
Prototypez votre réseau sans programmation de FPGA avec les bitstreams disponibles pour les kits de développement FPGA les plus courants.
Création d'un réseau pour le déploiement
Commencez par utiliser Deep Learning Toolbox pour concevoir, entraîner et analyser votre réseau de Deep Learning pour des tâches comme la détection ou la classification d'objets. Vous pouvez également commencer par importer un réseau entraîné ou des couches d'autres frameworks.
Déploiement de votre réseau sur le FPGA
Après avoir créé votre réseau entraîné, utilisez la commande deploy
pour programmer le FPGA avec le processeur de Deep Learning et l'interface Ethernet ou JTAG. Puis utilisez la commande compile
pour générer un ensemble d'instructions pour votre réseau entraîné sans avoir à reprogrammer le FPGA.
Exécution d'inférences basées sur des FPGA dans votre application MATLAB
Exécutez l'ensemble de votre application dans MATLAB®, y compris votre test bench, les algorithmes de prétraitement et de post-traitement, et les inférences de Deep Learning sur FPGA. La commande MATLAB predict
suffit pour effectuer des inférences sur le FPGA et renvoyer les résultats dans l'espace de travail MATLAB.
Profiler des inférences FPGA
Mesurez la latence au niveau des couches lorsque vous réalisez des prédictions sur le FPGA pour identifier les goulots d'étranglement dans les performances.
Ajuster le design du réseau
Ajustez la configuration de votre réseau avec Deep Learning Toolbox, en utilisant les métriques de profil. Utilisez par exemple Deep Network Designer pour ajouter ou supprimer des couches, ou créer de nouvelles connexions.
Quantification du Deep Learning
Optimisez l'utilisation des ressources en quantifiant votre réseau de Deep Learning vers une représentation virgule fixe. Analysez les compromis entre la précision et l'utilisation des ressources avec le support package Model Quantization Library.
Configuration personnalisée du processeur de Deep Learning
Précisez les options d'architecture hardware pour l'implémentation du processeur de Deep Learning, comme le nombre de threads parallèles ou la taille maximale des couches.
Générer du RTL synthétisable
Utilisez HDL Coder pour générer du RTL synthétisable à partir du processeur de Deep Learning pour une utilisation dans différentes cartes et workflows d'implémentation. Réutilisez le même processeur de Deep Learning pour le prototypage et le déploiement en production.
Générer des coeurs IP pour l'intégration
Lorsque HDL Coder génère le RTL à partir du processeur de Deep Learning, il génère également un coeur IP avec des interfaces AXI standard pour l'intégration dans votre design de référence SoC.