【技术实现步骤摘要】
一种基于FPGA的MobileNet硬件加速系统
[0001]本专利技术涉及一种基于FPGA的MobileNet硬件加速系统。
技术介绍
[0002]随着人工智能尤其是深度学习领域的快速发展,出于对网络模型精度的不断追求,神经网络模型的发展趋势逐渐呈现模型深度化、结构复杂化的特点。因此,以现有的大多数神经网络的计算量与参数量,难以应用于真实的场景如移动终端或者边缘设备。现实场景中神经网络的应用主要面临两大问题:存储与速度。移动终端及边缘设备受限于成本及功耗,往往资源有限,难以存储如此庞大的模型参数。并且许多场景对于实时性要求较高,尤其是军事侦察以及汽车辅助驾驶系统等领域。而深度神经网络巨大的计算量决定了其难以应用于上述场景。因此,研究精简高效的CNN模型对这些应用场景至关重要。
[0003]轻量级神经网络的出现与发展为神经网络在移动终端及边缘设备上的应用扫除了障碍。MobileNet是Google提出的新一代移动端卷积神经网络模型。其核心思想是通过深度可分离卷积(depthwise separable convolu ...
【技术保护点】
【技术特征摘要】
1.一种基于FPGA的MobileNet硬件加速系统,其特征在于,包括PL端、CPU端、通信模块、存储模块,PL端负责MobileNet网络的加速实现,CPU端负责统筹协调任务并发送指令;所述PL端包括核心控制模块及与该核心控制模块连接的各运算模块;所述通信模块用于实现PL端与CPU端、存储模块的数据传输;所述存储模块用于协调存储PL端数据。2.根据权利要求1所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,PL端通过配置直接存储器访问与存储模块通信实现输入输出数据的传输,指令存储于PL端的BRAM。3.根据权利要求1所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,所述核心控制模块为Command Analyzer,负责解析Command Queue发来的指令,并输出相应的控制信号控制各运算模块运行,Command Queue通过通信模块与CPU端进行交互,核心控制模块采用状态机实现。4.根据权利要求1所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,所述各运算模块分别为深度卷积模块、逐点卷积模块、SoftMax模块以及平均池化模块,各运算模块受核心控制模块控制,从输入缓冲区读取输入特征图,利用DSP资源进行相应计算,中间数据缓存于输出缓冲区,计算完成后进行量化、激活,最终存入输入缓冲区。5.根据权利要求1所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,所述存储模块为片外DDR存储器。6.根据权利要求1所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,所述通信模块采用AXI4以及AXI4
‑
Lite总线。7.根据权利要求4所述的一种基于FPGA的MobileNet硬件加速系统,其特征在于,所述深度卷积模块兼容标准卷积,深度卷积模块的实现方式为:MobileNet网络中共包含一层标准卷积层以及十三层深度卷积层,共十四层网络层,考虑到FPGA资源及MobileNet网络结构特征,按照32 x 18的并行展开度对输入特征图通...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。