Deep Learning HDL Toolbox

Prototipe y despliegue redes de deep learning en FPGA y SoC

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®).

Comience:

Inferencia de deep learning en FPGA

Prototipe e implemente redes de deep learning en FPGA para el despliegue en edge.

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.

Arquitectura del procesador de deep learning.

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.

Compilación y despliegue de una red YOLO v2.

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.

Inferencia basada en FPGA en MATLAB

Realice inferencias de deep learning en FPGA desde MATLAB.

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.

Utilice MATLAB para configurar la placa y la interfaz, compilar la red y desplegarla en 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.

Ejecución de aplicaciones de MATLAB que realizan inferencias de deep learning en la FPGA.

Personalización de redes

Ajuste su red de deep learning para cumplir con los requisitos específicos de la aplicación en su dispositivo FPGA o SoC de destino.

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.

Análisis de la inferencia de una red de deep learning en una FPGA desde MATLAB.

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.

Despliegue de implementaciones RTL personalizadas

Despliegue implementaciones RTL personalizadas del procesador de deep learning en cualquier dispositivo FPGA, ASIC o SoC con HDL Coder.

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 RTL sintetizable desde el procesador de deep learning.

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.

Tabla de interfaz de la plataforma de hardware que muestra la asignación entre las E/S y las interfaces AXI.