改进的基于嵌入式SoC卷积神经网络识别模型
2020-03-13肖金球顾敏明
计算机应用与软件 2020年3期
孙 磊 肖金球 夏 禹 顾敏明
(苏州科技大学电子与信息工程学院 江苏 苏州 215009) (苏州科技大学苏州市智能测控工程技术研究中心 江苏 苏州 215009)
0 引 言
利用FPGA并行计算的特点可以加速网络的运算,但是需要消耗较多的逻辑资源。RTL的设计方法即使在资源配置和计算性能上有一定的优势,但开发周期长、难度大、门槛高。Venieris等[1]设计了一种将卷积神经网络映射到FPGA平台的自动化设计方法,大大减少了设计难度。卢冶等[2]提出一种面向边缘计算的嵌入式FPGA平台的构建方法,与多种平台比较显现出优势和可行性。仇越等[3]提出了基于Zynq加速器的实现方法,并利用高层次综合技术和嵌入式SoC对卷积神经网络进行优化设计。Stornaiuolo等[4]提出快速部署Overlay的设计方法,以Xilinx公司的Vivado套件和PYNQ(Python Productivity for Zynq)为实验平台进行高层次综合设计,进一步加快了深度学习网络在嵌入式SoC上的部署速度。
本文以PYNQ为硬件实现平台,将卷积神经网络进行离线训练得到权重、偏置参数的模型文件,并设计定点数量化的算法;在嵌入式系统下调用FPGA资源,设计卷积神经网络和加速计算,对已有的加速器进行改进和优化,将实验数据与ZynqNet[3]实验方法比较得出了更佳的效果,与单CPU处理器计算卷积神经网络比较具有更快的计算速度。
1 卷积神经网络和嵌入式SoC
1.1 卷积神经网络模型
通常卷积神经网络包括卷积层、池化层、激活函数(非线性ReLU)和全连接层。它们依次作用于特征图,每一层从前一层读取、执行和输出。图1所示为经典LeNet-5手写识别模型。……
登录APP查看全文
