Deep Learning HDL Toolbox™ proporciona funciones y herramientas para prototipar e implementar redes de deep learning en FPGA y SoC. Ofrece flujos de bits prediseñados para ejecutar diversas redes de deep learning en dispositivos FPGA y SoC soportados de Xilinx® e Intel®. Las herramientas de análisis y estimación permiten personalizar una red de deep learning mediante la exploración de tradeoffs de diseño, rendimiento y utilización de recursos.
Deep Learning HDL Toolbox permite personalizar la implementación en hardware de su red de deep learning y generar código Verilog® y VHDL® portátil y sintetizable para el despliegue en cualquier FPGA (con HDL Coder™ y Simulink®).
Más información:
Procesador de deep learning programable
Esta toolbox incluye un procesador de deep learning que ofrece convolución genérica y capas totalmente conectadas controladas por lógica de planificación. Este procesador de deep learning realiza inferencias basadas en FPGA de redes desarrolladas con Deep Learning Toolbox™. Las interfaces de memoria de alto ancho de banda aceleran las transferencias de memoria de datos de capa y peso.
Compilación y despliegue
Compile su red de deep learning en un conjunto de instrucciones que el procesador de deep learning deberá ejecutar. Realice el despliegue en la FPGA y ejecute la predicción mientras captura las métricas de rendimiento reales en el dispositivo.
Introducción a las secuencias de bits prediseñadas
Prototipe su red sin programación de FPGA utilizando los flujos de bits disponibles para kits de desarrollo de FPGA de uso habitual.
Creación de una red para su despliegue
Comience utilizando Deep Learning Toolbox para diseñar, entrenar y analizar su red de deep learning para tareas tales como detección o clasificación de objetos. También puede empezar importando una red o capas entrenadas desde otros marcos de trabajo.
Despliegue de la red en la FPGA
Una vez que haya entrenado una red, utilice el comando deploy
para programar la FPGA con el procesador de deep learning junto con la interfaz de Ethernet o JTAG. A continuación, utilice el comando compile
para generar un conjunto de instrucciones para su red entrenada sin necesidad de reprogramar la FPGA.
Ejecución de inferencias basadas en FPGA como parte de su aplicación de MATLAB
Ejecute toda su aplicación en MATLAB®, incluidos el banco de pruebas, los algoritmos de preprocesamiento y posprocesamiento, y la inferencia de deep learning basada en FPGA. Un solo comando de MATLAB, predict
, realiza la inferencia en la FPGA y devuelve los resultados al área de trabajo de MATLAB.
Análisis de la inferencia de FPGA
Mida la latencia en el nivel de capa mientras ejecuta predicciones en la FPGA para encontrar cuellos de botella de rendimiento.
Ajuste del diseño de las redes
Usando las métricas de análisis, ajuste la configuración de su red con Deep Learning Toolbox. Por ejemplo, utilice Deep Network Designer para agregar y eliminar capas o crear nuevas conexiones.
Cuantización de deep learning
Reduzca la utilización de recursos cuantizando su red de deep learning en una representación de punto fijo. Analice los tradeoffs entre precisión y utilización de recursos con el paquete de soporte de Model Quantization Library.
Configuración personalizada del procesador de deep learning
Especifique las opciones de arquitectura de hardware para implementar el procesador de deep learning, tales como el número de subprocesos paralelos o el tamaño máximo de una capa.
Generación de RTL sintetizable
Use HDL Coder para generar RTL sintetizable desde el procesador de deep learning para su uso en diversos flujos de trabajo y dispositivos de implementación. Reutilice el mismo procesador de deep learning para el despliegue en prototipos y en producción.
Generación de núcleos IP para realizar la integración
Cuando HDL Coder genera RTL desde el procesador de deep learning, también genera un núcleo IP con interfaces AXI estándar para la integración en su diseño de referencia de SoC.