The invention provides an acceleration method and system, storage medium and terminal convolution neural network based on multi core, including a convolutional neural network will be split into at least two sub tasks, each sub task and a corresponding convolution kernel; the convolution between the serial connection; each convolution based on the parallel execution of the first preset the number of vector dot product operation, each vector dot product operation includes second preset number multiplication; the first preset number and the preset number second product of the convolution kernel number by adder; each convolution kernel vector dot product operation results according to the priority order output output. The invention of the convolutional neural network based on multi core acceleration method and system, storage medium and terminal through multiple parallel convolution convolution neural network data to save bandwidth; on the same hardware data bandwidth conditions, processing speed vector in parallel by convolution kernel in product operation improved convolutional neural network.
【技术实现步骤摘要】
基于多核的卷积神经网络加速方法及系统、存储介质及终端
本专利技术涉及数据处理的
,特别是涉及一种基于多核的卷积神经网络加速方法及系统、存储介质及终端。
技术介绍
目前,深度学习和机器学习在视觉处理、语音识别和图像分析领域得到了广泛的应用。卷积神经网络是深度学习和机器学习的重要组成部分。提高卷积神经网络的处理速度,可以等比例提高深度学习和机器学习的处理速度。现有技术中,视觉处理、语音识别和图像分析的应用都是基于多层卷积神经网络。每层卷积神经网络都要经过大量的数据处理和卷积运算,对硬件处理速度和资源的消耗要求很高。随着可穿戴设备、物联网应用和自动驾驶技术的不断发展,如何将卷积神经网络在嵌入式产品的中实现并到达可以流畅处理的速度,成为当前硬件架构设计面临的巨大挑战。以典型的卷积神经网络ResNet和VGG16为例,ResNet在16位浮点精度下,如果要运行到60帧每秒的速度,需要15G字节带宽;VGG16在16位浮点精度下,如果要运行到60帧每秒的速度,需要6.0G字节带宽。目前,为了实现卷积神经网络的加速,通过并行排列多个卷积单元来实现。在理想情况下,卷积单元越多,处理速度越快。但是在实际应用中,数据带宽会大大限制卷积单元的处理速度,硬件的带宽资源非常珍贵,提高硬件的数据带宽代价巨大。因此,在有限的数据带宽和硬件开销下,提高卷积神经网络的处理速度,成为当前硬件架构设计急需解决的问题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于多核的卷积神经网络加速方法及系统、存储介质及终端,通过多个并行的卷积核节省卷积神经网络的数据带宽;在相 ...
【技术保护点】
一种基于多核的卷积神经网络加速方法,其特征在于,包括以下步骤:将一层卷积神经网络拆分成至少两个子任务,每个子任务与一个卷积核相对应;所述卷积核之间串行连接以供输入数据在所述卷积核之间串行传输;基于每个卷积核,并行执行第一预设数量个向量点积运算,每个向量点积运算包括第二预设数量个乘法运算;所述第一预设数量和所述第二预设数量之积为卷积核中的乘加器个数;将每个卷积核的向量点积运算结果根据输出优先级顺序输出。
【技术特征摘要】
1.一种基于多核的卷积神经网络加速方法,其特征在于,包括以下步骤:将一层卷积神经网络拆分成至少两个子任务,每个子任务与一个卷积核相对应;所述卷积核之间串行连接以供输入数据在所述卷积核之间串行传输;基于每个卷积核,并行执行第一预设数量个向量点积运算,每个向量点积运算包括第二预设数量个乘法运算;所述第一预设数量和所述第二预设数量之积为卷积核中的乘加器个数;将每个卷积核的向量点积运算结果根据输出优先级顺序输出。2.根据权利要求1所述的基于多核的卷积神经网络加速方法,其特征在于,所述第二预设数量为3个以支持3D向量点积。3.根据权利要求1所述的基于多核的卷积神经网络加速方法,其特征在于,所述输出优先级根据所述输入数据输入卷积核的先后顺序确定,先输入所述输入数据的卷积核比后输入所述输入数据的卷积核具有更高的输出优先级。4.根据权利要求1所述的基于多核的卷积神经网络加速方法,其特征在于,基于每个卷积核,并行执行第一预设数量个向量点积运算包括以下步骤:获取(N+M-1)个输入数据;其中N为所述第一预设数量,M为所述第二预设数量;将前1到N个输入数据分别输入至第1到N个乘加器与第一系数相乘;将前2到N+1个输入数据分别输入至第N+1到2N个乘加器与第二系数相乘;以此类推,将前M到N+M-1个输入数据分别输入至第(N*M-N+1)到N*M个乘加器与第M系数相乘;将M次乘法中N个位置上对应位置处的乘积累加,得到N个向量点积运算结果。5.一种基于多核的卷积神经网络加速系统,其特征在于,包括卷积核设置模块、向量点积模块和输出模块;所述卷积核设置模块用于将一层卷积神经网络拆分成至少两个子任务,每个子任务与一个卷积核相对应;所述卷积核之间串行连接以供输入数...
【专利技术属性】
技术研发人员:张慧明,
申请(专利权)人:芯原微电子上海有限公司,图芯芯片技术上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。