Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

面向 FPGA 和 SoC 进行深度学习网络原型开发和部署

开始:

在 FPGA 上进行深度学习推断

面向 FPGA 进行深度学习网络原型开发和实现以部署边缘设备。

可编程的深度学习处理器

此工具箱包含一个深度学习处理器,该处理器提供常规的卷积和全连接层,由调度逻辑控制。此深度学习处理器可以对使用 Deep Learning Toolbox™ 开发的网络执行基于 FPGA 的推断。高带宽内存接口可加速层和权重数据的内存传输。

深度学习处理器包含常规的卷积和全连接处理模块,经编程后可执行特定网络。

深度学习处理器架构。

编译和部署

将您的深度学习网络编译为一组可由深度学习处理器运行的指令。部署到 FPGA 并运行预测,同时捕获实际设备性能指标。

将您的深度学习网络编译为一组可以部署到深度学习处理器的指令。

编译和部署 YOLO v2 网络。

在 MATLAB 中进行基于 FPGA 的推断

使用 MATLAB 在 FPGA 上运行深度学习推断。

创建网络以进行部署

第一步是使用 Deep Learning Toolbox 设计、训练和分析您的深度学习网络,以执行目标检测或分类等任务。您也可以从其他框架导入经过训练的网络或层。

将您的网络部署到 FPGA

训练网络后,通过深度学习处理器和以太网或 JTAG 接口,使用 deploy 命令对 FPGA 进行编程。然后使用 compile 命令为经过训练的网络生成一组指令,而无需对 FPGA 进行重新编程。

使用 MATLAB 配置板卡和接口,编译网络并部署到 FPGA。

使用 MATLAB 配置板卡和接口,编译网络并部署到 FPGA。

将基于 FPGA 的推断作为 MATLAB 应用程序的一部分运行

在 MATLAB® 中运行整个应用程序,包括测试平台、预处理和后处理算法,以及基于 FPGA 的深度学习推断。只需使用 MATLAB 中的 predict 命令,即可在 FPGA 上执行推断并将结果返回 MATLAB 工作区。

该 MATLAB 循环捕获图像,针对 AlexNet 调整图像大小(预处理),在 FPGA 上运行深度学习推断,然后对结果进行后处理并显示。

运行可在 FPGA 上执行深度学习推断的 MATLAB 应用程序。

网络自定义

调整您的深度学习网络,以满足目标 FPGA 或 SoC 设备上特定于应用的要求。

对 FPGA 推断进行性能分析

衡量在 FPGA 上运行预测时的层级延迟,以找出性能瓶颈。

深度学习推断性能分析指标。

对在 MATLAB 中进行的 FPGA 深度学习网络推断进行性能分析。

部署自定义 RTL 实现

使用 HDL Coder 将深度学习处理器的自定义 RTL 实现部署到各种 FPGA、ASIC 或 SoC 设备。

自定义深度学习处理器配置

指定用于实现深度学习处理器的硬件架构选项,例如并行线程的数量或最大层大小。

生成可合成的 RTL

使用 HDL Coder 从深度学习处理器生成可合成的 RTL,以便在各种实现工作流和设备中使用。将同一深度学习处理器重用于原型开发和生产部署。

dlhdl.BuildProcessor 类可从自定义深度学习处理器生成可合成的 RTL。

从深度学习处理器生成可合成的 RTL。

生成 IP 核用于集成

当 HDL Coder 从深度学习处理器生成 RTL 时,它还会生成一个带标准 AXI 接口的 IP 核,用于集成到 SoC 参考设计中。

HDL Coder 可生成一个 IP 核,将深度学习处理器输入和输出映射到 AXI 接口。

显示 I/O 和 AXI 接口之间映射的目标平台接口表。