The present application discloses an acceleration device, method and system for realizing a neural network based on FPGA. The device includes at least one storage unit for storing operation instructions, operation data and weight data of N sub-networks constituting the neural network, the N being an integer greater than 1, and a plurality of computing units for according to the operation instructions, the operation data, the weight data and the description. The execution order J of N sub-networks executes vector multiplication and addition operation in the calculation of the neural network. The initial value of the j is 1, and the final result of the sub-network with the execution order J is the input of the sub-network with the execution order j+1; and the control unit, which is connected with at least one storage unit and the plurality of computing units, is used to obtain the said information through at least one storage unit. The operation instructions are parsed to control the plurality of computing units. Compared with general purpose processor and graphics processor, it has the characteristics of high performance and low power consumption.
【技术实现步骤摘要】
实现神经网络的FPGA加速装置、方法和系统
本申请涉及深度学习
,特别涉及实现神经网络的FPGA加速装置、方法和系统。
技术介绍
随着机器学习技术的不断发展,深度神经网络已经成为认知与识别任务的最佳解决方案,在识别检测和计算机视觉领域引起了广泛关注,尤其在图像识别领域,深度神经网络已达到甚至超越人类的辨识准确度。深度学习所得到的深度网络结构是一种运算模型,其中包含大量数据节点,每个数据节点与其他数据节点相连,各个节点间的连接关系用权重表示,主流的神经网络处理硬件通常是采用通用处理器(CPU)或者图形处理器(GPU)来实现,其中,随着GPU的大规模并行架构支持的不断推进,检测模型在GPU系统上的运行速度相较于单核CPU往往提升几十倍乃至上千倍,但GPU的高能耗对其应用造成了一定的限制。相比于GPU,FPGA在功耗方面具有很大的优势。
技术实现思路
鉴于以上问题,本专利技术的实施例提供一种实现神经网络的FPGA加速装置、方法和系统。按照本专利技术的实施例的用于实现神经网络的FPGA加速装置,包括:至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。按 ...
【技术保护点】
1.用于实现神经网络的FPGA加速装置,包括:至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。
【技术特征摘要】
1.用于实现神经网络的FPGA加速装置,包括:至少一存储单元,用于存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;多个计算单元,用于根据所述操作指令、所述运算数据、所述权重数据以及所述n个子网络的执行顺序j,执行所述神经网络计算中向量乘加操作,所述j的初始值为1,执行顺序为j的子网络的最终计算结果作为执行顺序为j+1的子网络的输入;以及控制单元,与所述至少一存储单元、所述多个计算单元相连,用于经由所述至少一存储单元获得所述操作指令,并且解析所述操作指令以控制所述多个计算单元。2.根据权利要求1所述的FPGA加速装置,其中,所述n为2,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络和目标/背景判别网络。3.根据权利要求1所述的FPGA加速装置,其中,所述n为3,所述组成神经网络的子网络按执行顺序的先后依次包括:背景识别网络、目标/背景判别网络和目标分类回归网络,或,候选区域生成网络、背景识别网络和目标/背景判别网络。4.根据权利要求1所述的FPGA加速装置,其中,所述n个子网络的权重数据是利用遗传算法对已经训练好的所述神经网络进行片下离线压缩后获得的。5.基于FPGA实现神经网络的方法,包括:设置至少一存储单元,存储操作指令、运算数据和组成神经网络的n个子网络的权重数据,所述n为大于1的整数;设置多个计算单元,根据所述操作指令、所述...
【专利技术属性】
技术研发人员:金玲玲,饶东升,
申请(专利权)人:深圳灵图慧视科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。