为深入学习处理器生成高密度脂蛋白
实现深度学习推理有效边缘应用程序需要合作的设计深度学习网络和深度学习处理器。
深度学习HDL工具箱™使FPGA原型深入学习网络在MATLAB®。提高性能或目标定制的硬件,您可以探索权衡在MATLAB上收敛定义深度学习处理器的FPGA实现。然后一个MATLAB函数驱动HDL编码器™来生成一个IP核心与独立于目标synthesizable RTL和阿喜的接口。它还可以选择运行FPGA实现创建一个比特流程序深度学习处理器到设备上。
深度学习HDL工具箱提供了FPGA原型的深度学习推论在MATLAB中,所以您可以快速迭代和收敛的网络上提供系统的性能要求,同时满足你的FPGA的约束。
但是如果你想要定制的FPGA实现,以提高性能或目标定制板吗?为此,您可以使用MATLAB配置处理器和开车HDL编码器生成一个IP核心与RTL和阿喜接口。
这都是基于一个深度学习处理器架构通用卷积和完全连接模块,你可以计划你的自定义网络和正在运行的逻辑控制层,连同其激活输入和输出。因为每一层的参数需要被存储在外部DDR内存,处理器还包括高带宽内存访问。
你可以定制这个深度学习处理器系统需求,加上自定义的能力深学习网络,提供了很多的选择来优化FPGA实现您的应用程序。
为了说明这一点,让我们看一个应用程序,它使用一系列网络训练的分类标识。假设我们需要处理15帧每秒。
所以我们只加载训练网络。
我们将设置一个定制的处理器配置所有默认设置和运行在220 MHz。注意数据类型和数量的卷积模块和全模块的并行线程。这是默认设置目标ZCU102板,这是我们正在使用的。
然后我们处理器配置工作流对象申请培训网络
现在我们可以估计这个定制的处理器的性能在我们部署它。结果是总延迟,在220 MHz意味着帧速率略低于6帧每秒,这是不能满足我们的系统要求。
这就是因为我们有选择合作是很重要的。假设我们致力于这个板。和我们的深度学习专家并不认为我们可以删除任何层和得到相同的精度,但我们可以使量子化int8。从32位到8位单词长度给我们的资源执行更multiply-accumulates并行执行。
我们会设置一个新的自定义处理器配置对象,卷积和全层设置为int8,和并行线程数量增加4倍。
现在,我们需要数字转换网络本身为了估计对深度学习处理器的性能。您可以了解更多关于这个过程的文档。花一分钟来运行,并返回对于每一层的数值范围给定的校准数据存储。我们通常会运行更多的标定图像,然后用另一组验证,但…
让我们看看这个新的处理器配置的评估结果,现在我们16帧每秒,这是足够好为我们虚构的需求。
从这里,buildProcessor函数是否休息。它调用HDL编码器生成独立于目标synthesizable RTL的处理器配置。如果你建立一个参考设计它将生成一个IP核心AXI寄存器映射这插头正确的实施。如果你设置和定义一个实现工作流,它运行在发电项目设备的比特流。
我们可以看看实现的结果,在Vivado。我们的会议时间在220 MHz的目标,这里显示的资源使用情况。
这说明,它可以有力的设计之间的合作深度学习网络和深度学习处理器的实现,并在MATLAB环境下是多么容易做。
相关产品下载188bet金宝搏
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。