Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

Prototipe y despliegue redes de deep learning en FPGA y SoC

Más información:

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.

El procesador de deep learning contiene convolución genérica y módulos de procesamiento totalmente conectados que están programados para ejecutar la red especificada.

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.

Compile su red de deep learning en un conjunto de instrucciones que se desplegará en el procesador de deep learning.

Compilación y despliegue de una red YOLO v2.

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.

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

Bucle de MATLAB que captura una imagen, la preprocesa redimensionándola para AlexNet, ejecuta inferencias de deep learning en la FPGA y, después, posprocesa y muestra los resultados.

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.

Métricas de análisis de inferencia de deep learning.

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.

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.

La clase dlhdl.BuildProcessor genera RTL sintetizable a partir del procesador de deep learning personalizado.

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.

HDL Coder genera un núcleo IP que asigna las entradas y salidas del procesador de deep learning a las interfaces AXI.

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