CN111860771B - 一种应用于边缘计算的卷积神经网络计算方法 - Google Patents
一种应用于边缘计算的卷积神经网络计算方法 Download PDFInfo
- Publication number
- CN111860771B CN111860771B CN202010568257.2A CN202010568257A CN111860771B CN 111860771 B CN111860771 B CN 111860771B CN 202010568257 A CN202010568257 A CN 202010568257A CN 111860771 B CN111860771 B CN 111860771B
- Authority
- CN
- China
- Prior art keywords
- feature
- convolution
- weight
- edge
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 81
- 238000013527 convolutional neural network Methods 0.000 title claims description 15
- 238000010586 diagram Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 abstract description 11
- 230000006835 compression Effects 0.000 abstract description 2
- 238000007906 compression Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种应用于边缘计算的卷积神经网络计算方法,包括如下步骤:S1.获取边缘计算设备的硬件缓存总大小以及当前卷积层参数占用空间;S2.根据硬件缓存总大小与当前卷积层参数占用空间的关系,选择卷积计算方式进行计算;其中,当前卷积层参数达到设定阈值时,将当前卷积层拆分后分别进行计算,再将各自计算结果进行拼接;S3.输出卷积推理结果。本发明通过对当前卷积层所需缓存空间进行分析,并根据权重参数与特征图所需缓存空间大小,设置卷积在硬件上存储采用不同工作模式,并进一步给出卷积拆分方法,解决计算量较大的卷积层成为网络推理速度的瓶颈的问题,避免对数据进行低比特压缩处理,因此不会损失网络精度。
Description
技术领域
本发明属于人工智能技术领域,具体涉及一种应用于边缘计算的卷积神经网络计算方法。
背景技术
DNN,Deep Neural Network的简称,深度神经网络。
边缘计算起源于传媒领域,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端。
人工智能近几年实现了爆炸式发展,深度神经网络(Deep Neural Network)可以说是其主要的推动力。深度神经网络已广泛应用于计算机视觉、语音识别、自动驾驶等诸多领域中。虽然深度学习在计算机视觉中的识别性能已经远超于传统的机器学习算法,但在智能停车场、智能卡口以及自动驾驶等实时性要求较高的应用场景中,落地较少。
随着深度神经网络的计算优化,计算硬件也由CPU+GPU、CPU+TPU,逐渐向CPU+FPGA以及ARM等边缘计算设备过渡,其计算实时性也有进一步提升。由于GPU、TPU具有强大的计算能力,并且CPU的兼容性强,目前caffe、Tensorflow以及Pytorch等深度学习框架已广泛应用。边缘计算端受限于其计算、内存限制,对小型计算网络如Lenet、MobileNet等网络可实现一键部署,但对Alexnet、Resnet50等大型计算网络支持欠佳。
众所周知,神经网络的计算主要集中在卷积层的计算,计算量较大的网络,主要由于其卷积层数量多、单个卷积层计算量大。在卷积层计算时,通常需要将权重参数(训练参数)以及输入特征图读入缓存中,进行计算,但受限于缓存大小,某些卷积层无法计算。通常将这些卷积层,以循环方式展开放在FPGA端,或直接将其放在CPU端进行。
通常针对计算量较大的网络,在边缘计算端,通常有以下三种方式,第一,采用CPU与FPGA异构计算方式,将受限于存储空间大小的卷积层,放在CPU上计算,而后将其计算结果传输到FPGA上以进行下一层的计算;第二,卷积层在FPGA上计算,根据卷积计算特征,将卷积计算以循环方式展开进行计算;第三,在FPGA上增加编码以及解码模块,以低比特存储权重以及输入特征图,压缩权重及特征图的内存空间。
但上述三种方法均存在缺陷,方法一,将计算量较大的卷积层放于CPU端计算,在卷积计算前后,存在大量的数据传输,不仅增加硬件设计成本,而且影响推理速度;方法二,FPGA的计算特点是逻辑门计算,对矩阵计算性能较好,但逻辑判断语句在FPGA上受限很大,直接成为整体网络推理计算的瓶颈;方法三,本质上是改变权重以及特征图的数据范围,比如由32比特变成比特甚至更低比特,这种方法通常会降低原有网络的精度。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种应用于边缘计算的卷积神经网络计算方法,是非常有必要的。
发明内容
针对现有技术的上述在有限硬件资源下,神经网络中某些层计算量大,导致推理速度严重下降,而改变参数数据位宽,又会导致网络精度下降的缺陷,本发明提供一种应用于边缘计算的卷积神经网络计算方法,以解决上述技术问题。
本发明提供一种应用于边缘计算的卷积神经网络计算方法,包括如下步骤:
S1.获取边缘计算设备的硬件缓存总大小以及当前卷积层参数占用空间;
S2.根据硬件缓存总大小与当前卷积层参数占用空间的关系,选择卷积计算方式进行计算;其中,当前卷积层参数达到设定阈值时,将当前卷积层拆分后分别进行计算,再将各自计算结果进行拼接;
S3.输出卷积推理结果。
进一步地,当前卷积层参数占用空间包括当前卷积层的权重参数占用空间总大小、当前卷积层的权重参数运算所需空间以及特征图空间;
设定边缘计算设备的硬件缓存总大小为Totalcbuf,设定当前卷积层的权重参数占用空间总大小为Totalweight,设定当前卷积层的权重参数运算所需空间为Minweight,设定特征图空间为Totalfeature。
进一步地,步骤S2具体步骤如下:
S21.比较判断是否满足Totalweight+Totalfeature≦Totalcbuf;
若是,进入步骤S22;
S22.判定边缘计算设备直接进行卷积计算,在硬件缓存读取当前卷积层的所有权重参数与特征图,依次进行卷积计算,进入步骤S3。若当前卷积层权重及特征图可全部读入边缘计算设备的硬件缓存中时,可直接计算卷积。
进一步地,步骤S21中,若不满足Totalweight+Totalfeature≦Totalcbuf,进入步骤S23;
S23.比较判断是否满足2*Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S24;
S24.判定边缘计算设备采用ping-pong模式计算卷积,硬件缓存对一个权重参数与特征图进行计算的同时,读入下一个权重参数等待计算,直至卷积计算完成,进入步骤S3。若特征图可全部放于硬件缓存中,以及2倍的Minweight存储在硬件缓存中,即权重的读取与计算采用ping-pong模式,在计算一个Minweight的同时,可将下一个Minweight读入硬件缓存中
进一步地,步骤S23中,若不满足2*Minweight+Totalfeature≦Totalcbuf,进入步骤S25;
S25.比较判断是否满足Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S26;
S26.判定边缘计算设备采用等待模式计算卷积,等待硬件缓存完成一个最小空间权重参数与特征图的计算之后,读入下一个最小空间权重参数,依次进行卷积计算,进入步骤S3。
进一步地,步骤S25中,若不满足Minweight+Totalfeature≦Totalcbuf,进入步骤S27;
S27.判定边缘计算设备将当前卷积层进行拆分,硬件缓存将特征图拆分成若干子特征图,依次将各子特征图与权重参数进行卷积计算。
进一步地,步骤S27中,特征图包括宽度方向、高度方向以及数量方向;
步骤S27具体步骤如下:
S271.判断特征图沿着数量方向拆分还是沿着宽度高度方向拆分;
若是沿着数量方向拆分,进入步骤S272;
S272.硬件缓存将特征图沿着数量方向进行拆分,拆分成N个子特征图,同时将权重参数进行拆分,拆分成N个子权重参数;
S273.获取N个子特征图空间中最大的记为Maxsplit_feature,获取N个子权重参数运算所需空间中最大的记为Maxsplit_weight;
S274.判断是否满足Maxsplit_feature+Maxsplit_weight≦Totalcbuf;
若是,将拆分后子权重参数分别与拆分后子特征图进行卷积计算,得到N个输出特征图,沿着数量方向将N个特征图进行相加,进入步骤S3;
若否,增大N的取值,返回步骤S271。在数量方向上拆分特征图,则需要对待训练的权重参数也在数量方向上拆分,并且当拆分为N个卷积计算时,需要对权重参数读取n次,且拆分后的输出特征图,需要进行加法计算。
进一步地,步骤S271中,若特征图沿着宽度高度方向拆分,进入步骤S275;
S275.硬件缓存将特征图沿着高度或宽度方向拆分,拆分成M个子特征图;
S276.循环对权重参数读取M次,与M个子特征图分别进行卷积计算,得到M个输出特征图,将M个输出特征图按照地址偏移写入对应地址,进入步骤S3。
进一步地,步骤S275中,获取特征图读取存储顺序;
当特征图读取存储顺序为个数-高度-宽度时,硬件缓存将特征图沿着高度方向拆分,拆分成M个子特征图;
当特征图读取存储顺序为个数-宽度-高度时,硬件缓存将特征图沿着宽度方向拆分,拆分成M个子特征图。根据特征图读取存储顺序选择拆分方向是为了连续读取特征图的数据,无需跳跃式读取。在高度或宽度方向上拆分时,仅需对权重参数读取一次,拆分后的特征图仅按照地址偏移写入到对应地址中即可。
进一步地,硬件缓存对特征图进行拆分后,进行卷积计算之前,重新设置扩充边缘参数和步长参数;具体步骤如下:
设置拆分后步长参数与拆分前步长参数相同;
获取拆分后第一个特征图和最后一个特征图;
当硬件缓存对特征图进行高度方向拆分,设置第一个特征图的扩充上边缘参数与拆分前特征图的扩充上边缘参数相同,设置第一个特征图的扩充下边缘参数为0;
设置最后一个特征图的扩充上边缘参数为0,设置最后一个特征图的扩充下边缘参数与拆分前特征图的扩充下边缘相同。
本发明的有益效果在于,
本发明提供应用于边缘计算的卷积神经网络计算方法,通过对当前卷积层所需缓存空间进行分析,并根据权重参数与特征图所需缓存空间大小,设置卷积在硬件上存储采用不同工作模式,并进一步给出卷积拆分方法,解决计算量较大的卷积层成为网络推理速度的瓶颈的问题,避免对数据进行低比特压缩处理,因此不会损失网络精度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3是本发明的特征图示意图;
图4是本发明的权重参数示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种应用于边缘计算的卷积神经网络计算方法,包括如下步骤:
S1.获取边缘计算设备的硬件缓存总大小以及当前卷积层参数占用空间;当前卷积层参数占用空间包括当前卷积层的权重参数占用空间总大小、当前卷积层的权重参数运算所需空间以及特征图空间;
S2.根据硬件缓存总大小与当前卷积层参数占用空间的关系,选择卷积计算方式进行计算;其中,当前卷积层参数达到设定阈值时,将当前卷积层拆分后分别进行计算,再将各自计算结果进行拼接;
S3.输出卷积推理结果。
实施例2:
如图2所示,本发明提供一种应用于边缘计算的卷积神经网络计算方法,包括如下步骤:
S1.获取边缘计算设备的硬件缓存总大小以及当前卷积层参数占用空间;当前卷积层参数占用空间包括当前卷积层的权重参数占用空间总大小、当前卷积层的权重参数运算所需空间以及特征图空间;设定边缘计算设备的硬件缓存总大小为Totalcbuf,设定当前卷积层的权重参数占用空间总大小为Totalweight,设定当前卷积层的权重参数运算所需空间为Minweight,设定特征图空间为Totalfeature;
S2.根据硬件缓存总大小与当前卷积层参数占用空间的关系,选择卷积计算方式进行计算;其中,当前卷积层参数达到设定阈值时,将当前卷积层拆分后分别进行计算,再将各自计算结果进行拼接;具体步骤如下:
S21.比较判断是否满足Totalweight+Totalfeature≦Totalcbuf;
若是,进入步骤S22;
若否,进入步骤S23;
S22.判定边缘计算设备直接进行卷积计算,在硬件缓存读取当前卷积层的所有权重参数与特征图,依次进行卷积计算,进入步骤S3;
S23.比较判断是否满足2*Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S24;
若否,进入步骤S25;
S24.判定边缘计算设备采用ping-pong模式计算卷积,硬件缓存对一个权重参数与特征图进行计算的同时,读入下一个权重参数等待计算,直
至卷积计算完成,进入步骤S3;
S25.比较判断是否满足Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S26;
若否,进入步骤S27;
S26.判定边缘计算设备采用等待模式计算卷积,等待硬件缓存完成一个最小空间权重参数与特征图的计算之后,读入下一个最小空间权重参数,依次进行卷积计算,进入步骤S3;
S27.判定边缘计算设备将当前卷积层进行拆分,硬件缓存将特征图拆分成若干子特征图,依次将各子特征图与权重参数进行卷积计算;
S3.输出卷积推理结果。
上述实施例2中,步骤S27中,特征图包括宽度方向、高度方向以及数量方向;
步骤S27具体步骤如下:
S271.判断特征图沿着数量方向拆分还是沿着宽度高度方向拆分;
若是沿着数量方向拆分,进入步骤S272;
若特征图沿着宽度高度方向拆分,进入步骤S275;
S272.硬件缓存将特征图沿着数量方向进行拆分,拆分成N个子特征图,同时将权重参数进行拆分,拆分成N个子权重参数;
S273.获取N个子特征图空间中最大的记为Maxsplit_feature,获取N个子权重参数运算所需空间中最大的记为Maxsplit_weight;
S274.判断是否满足Maxsplit_feature+Maxsplit_weight≦Totalcbuf;
若是,将拆分后子权重参数分别与拆分后子特征图进行卷积计算,得到N个输出特征图,沿着数量方向将N个特征图进行相加,进入步骤S3;
若否,增大N的取值,返回步骤S271;
S275.硬件缓存将特征图沿着高度或宽度方向拆分,拆分成M个子特征图;
S276.循环对权重参数读取M次,与M个子特征图分别进行卷积计算,得到M个输出特征图,将M个输出特征图按照地址偏移写入对应地址,进入步骤S3。
在某些实施例中,步骤S275中,获取特征图读取存储顺序;
当特征图读取存储顺序为个数-高度-宽度时,硬件缓存将特征图沿着高度方向拆分,拆分成M个子特征图;
当特征图读取存储顺序为个数-宽度-高度时,硬件缓存将特征图沿着宽度方向拆分,拆分成M个子特征图。
在某些实施例中,硬件缓存对特征图进行拆分后,进行卷积计算之前,重新设置扩充边缘参数和步长参数;具体步骤如下:
设置拆分后步长参数与拆分前步长参数相同;
获取拆分后第一个特征图和最后一个特征图;
当硬件缓存对特征图进行高度方向拆分,设置第一个特征图的扩充上边缘参数与拆分前特征图的扩充上边缘参数相同,设置第一个特征图的扩充下边缘参数为0;
设置最后一个特征图的扩充上边缘参数为0,设置最后一个特征图的扩充下边缘参数与拆分前特征图的扩充下边缘参数相同;
而当硬件缓存对特征图进行宽度方向拆分,设置第一个特征图的扩充左边缘参数与拆分前特征图的扩充左边缘参数相同,设置第一个特征图的扩充右边缘参数为0;
设置最后一个特征图的扩充左边缘参数为0,设置最后一个特征图的扩充右边缘参数与拆分前特征图的扩充右边缘参数相同。
如图3和图4所示,设定权重参数的维度为N*C*HW*WW,作为输入的特征图的维度为C*HF*WF,则Totalweight=N*C*HW*WW,Totalfeature=C*HF*WF,Minweight=C*HW*WW;其中,C代表数量方向,H代表高度方向,W代表宽度方向。
当Totalweight+Totalfeature≤Totalcbuf时,显然可将当前卷积层权重参数以及特征图全部放于硬件缓存中;当2*Minweight+Totalfeature≤Totalcbuf时,可将特征图全部放于硬件缓存中,而将2倍的Minweight存储在硬件缓存中,即权重参数的读取与计算采用ping-pong模式,在计算一个Minweight的同时,可将下一个Minweight读入硬件缓存中;当Minweight+Totalfeature≤Totalcbuf时,即将特征图全部放于硬件缓存中,而将Minweight存储在硬件缓存中,此时硬件工作模式为,等待当前的Minweight计算完成后,在读入下一个Minweight,直到将N个Minweight全部计算完成。当Minweight+Totalfeature>Totalcbuf时,应对特征图进行拆分。若不进行卷积层拆分,则根据情况选择卷积工作模式,并结束当前层卷积。若需进行卷积层拆分,进入以下步骤。
输入的特征图的维度为C*HF*WF,可对输入特征图在C、H、W上三个方向上进行拆分。
一、将输入的特征图在C上进行分离操作,特征图拆分为{c1*H*W,c2*H*W,…,cn*H*W},权重参数拆分为{N*c1*H*W,N*c2*H*W,…,N*cn*H*W},其中C=c1+c2,…,cn,且Maxsplit_feature+Maxsplit_weight≤Totalcbuf。其中Maxsplit_feature和Maxsplit_weight分别表示拆分后的最大特征图以及最大的权重。接着将权重参数分别与拆分后的特征图进行卷积计算,得到n个输出特征图N*HF*WF,并将n个特征图在N方向上相加。
二、将输入的特征图在H或W方向上进行分离操作,若特征图读取存储顺序为C、H、W,则在H方向上进行拆分,若其存储顺序为C、W、H,则在W方向上进行拆分,其目的是连续读取特征数据,无需跳跃式读取。以在H方向上拆分为例,特征图拆分为{C*h1*W,C*h2*W,…,C*hn*W},权重参数无需拆分。接着将权重参数分别与拆分后的特征图进行卷积计算,得到n个输出特征图N*HFi*W,其中H=HF1+HF2…+HFn,并将n个输出特征图按其存放顺序存储至目标存储空间即可,即执行拼接操作。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种应用于边缘计算的卷积神经网络计算方法,其特征在于,包括如下步骤:
S1.获取边缘计算设备的硬件缓存总大小以及当前卷积层参数占用空间;当前卷积层参数占用空间包括当前卷积层的权重参数占用空间总大小、当前卷积层的权重参数运算所需空间以及特征图空间;
设定边缘计算设备的硬件缓存总大小为Totalcbuf,设定当前卷积层的权重参数占用空间总大小为Totalweight,设定当前卷积层的权重参数运算所需空间为Minweight,设定特征图空间为Totalfeature;
S2.根据硬件缓存总大小与当前卷积层参数占用空间的关系,选择卷积计算方式进行计算;其中,当前卷积层参数达到设定阈值时,将当前卷积层拆分后分别进行计算,再将各自计算结果进行拼接;步骤S2具体步骤如下:
S21.比较判断是否满足Totalweight+Totalfeature≦Totalcbuf;
若是,进入步骤S22;
S22.判定边缘计算设备直接进行卷积计算,在硬件缓存读取当前卷积层的所有权重参数与特征图,依次进行卷积计算,进入步骤S3;
S3.输出卷积推理结果。
2.如权利要求1所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S21中,若不满足Totalweight+Totalfeature≦Totalcbuf,进入步骤S23;
S23.比较判断是否满足2*Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S24;
S24.判定边缘计算设备采用ping-pong模式计算卷积,硬件缓存对一个权重参数与特征图进行计算的同时,读入下一个权重参数等待计算,直至卷积计算完成,进入步骤S3。
3.如权利要求2所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S23中,若不满足2*Minweight+Totalfeature≦Totalcbuf,进入步骤S25;
S25.比较判断是否满足Minweight+Totalfeature≦Totalcbuf;
若是,进入步骤S26;
S26.判定边缘计算设备采用等待模式计算卷积,等待硬件缓存完成一个最小空间权重参数与特征图的计算之后,读入下一个最小空间权重参数,依次进行卷积计算,进入步骤S3。
4.如权利要求3所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S25中,若不满足Minweight+Totalfeature≦Totalcbuf,进入步骤S27;
S27.判定边缘计算设备将当前卷积层进行拆分,硬件缓存将特征图拆分成若干子特征图,依次将各子特征图与权重参数进行卷积计算。
5.如权利要求4所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S27中,特征图包括宽度方向、高度方向以及数量方向;
步骤S27具体步骤如下:
S271.判断特征图沿着数量方向拆分还是沿着宽度高度方向拆分;
若是沿着数量方向拆分,进入步骤S272;
S272.硬件缓存将特征图沿着数量方向进行拆分,拆分成N个子特征图,同时将权重参数进行拆分,拆分成N个子权重参数;
S273.获取N个子特征图空间中最大的记为Maxsplit_feature,获取N个子权重参数运算所需空间中最大的记为Maxsplit_weight;
S274.判断是否满足Maxsplit_feature+Maxsplit_weight≦Totalcbuf;
若是,将拆分后子权重参数分别与拆分后子特征图进行卷积计算,得到N个输出特征图,沿着数量方向将N个特征图进行相加,进入步骤S3;
若否,增大N的取值,返回步骤S271。
6.如权利要求5所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S271中,若特征图沿着宽度高度方向拆分,进入步骤S275;
S275.硬件缓存将特征图沿着高度或宽度方向拆分,拆分成M个子特征图;
S276.循环对权重参数读取M次,与M个子特征图分别进行卷积计算,得到M个输出特征图,将M个输出特征图按照地址偏移写入对应地址,进入步骤S3。
7.如权利要求6所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,步骤S275中,获取特征图读取存储顺序;
当特征图读取存储顺序为个数-高度-宽度时,硬件缓存将特征图沿着高度方向拆分,拆分成M个子特征图;
当特征图读取存储顺序为个数-宽度-高度时,硬件缓存将特征图沿着宽度方向拆分,拆分成M个子特征图。
8.如权利要求5或6所述的应用于边缘计算的卷积神经网络计算方法,其特征在于,硬件缓存对特征图进行拆分后,进行卷积计算之前,重新设置扩充边缘参数和步长参数;具体步骤如下:
设置拆分后步长参数与拆分前步长参数相同;
获取拆分后第一个特征图和最后一个特征图;
设置第一个特征图的扩充上边缘参数与拆分前特征图的扩充上边缘参数相同,设置第一个特征图的扩充下边缘参数为0;
设置最后一个特征图的扩充上边缘参数为0,设置最后一个特征图的扩充下边缘参数与拆分前特征图的扩充下边缘相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010568257.2A CN111860771B (zh) | 2020-06-19 | 2020-06-19 | 一种应用于边缘计算的卷积神经网络计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010568257.2A CN111860771B (zh) | 2020-06-19 | 2020-06-19 | 一种应用于边缘计算的卷积神经网络计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111860771A CN111860771A (zh) | 2020-10-30 |
CN111860771B true CN111860771B (zh) | 2022-11-25 |
Family
ID=72986995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010568257.2A Active CN111860771B (zh) | 2020-06-19 | 2020-06-19 | 一种应用于边缘计算的卷积神经网络计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111860771B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113554095B (zh) * | 2021-07-26 | 2022-08-19 | 湖南国科微电子股份有限公司 | 特征图处理方法、装置及计算机设备 |
CN116150555A (zh) * | 2021-11-19 | 2023-05-23 | 中科寒武纪科技股份有限公司 | 计算装置、利用计算装置实施卷积运算的方法及相关产品 |
CN114492769B (zh) * | 2022-04-11 | 2022-08-12 | 飞腾信息技术有限公司 | 数据处理方法、相关设备及系统 |
CN115936086A (zh) * | 2023-01-09 | 2023-04-07 | 苏州浪潮智能科技有限公司 | 基于深度神经网络的加速方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160086A (ja) * | 2017-03-23 | 2018-10-11 | 株式会社日立製作所 | 畳込みニューラルネットワークによる処理方法、畳込みニューラルネットワークの学習方法、および畳込みニューラルネットワークを備える処理装置 |
CN110390382A (zh) * | 2019-06-20 | 2019-10-29 | 东南大学 | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
CN111542839A (zh) * | 2018-12-13 | 2020-08-14 | 深圳鲲云信息科技有限公司 | 一种反卷积神经网络的硬件加速方法、装置和电子设备 |
-
2020
- 2020-06-19 CN CN202010568257.2A patent/CN111860771B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018160086A (ja) * | 2017-03-23 | 2018-10-11 | 株式会社日立製作所 | 畳込みニューラルネットワークによる処理方法、畳込みニューラルネットワークの学習方法、および畳込みニューラルネットワークを備える処理装置 |
CN111542839A (zh) * | 2018-12-13 | 2020-08-14 | 深圳鲲云信息科技有限公司 | 一种反卷积神经网络的硬件加速方法、装置和电子设备 |
CN110390382A (zh) * | 2019-06-20 | 2019-10-29 | 东南大学 | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 |
CN110880038A (zh) * | 2019-11-29 | 2020-03-13 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的系统、卷积神经网络 |
Also Published As
Publication number | Publication date |
---|---|
CN111860771A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111860771B (zh) | 一种应用于边缘计算的卷积神经网络计算方法 | |
CN110175671B (zh) | 神经网络的构建方法、图像处理方法及装置 | |
US20210182666A1 (en) | Weight data storage method and neural network processor based on the method | |
CN111507150B (zh) | 利用基于深度神经网络的多重图像块组合识别人脸的方法 | |
CN110188768B (zh) | 实时图像语义分割方法及系统 | |
CN111242071B (zh) | 一种基于锚框的注意力遥感图像目标检测方法 | |
US20210089871A1 (en) | Processing system and method for binary weight convolutional neural network | |
CN112633010B (zh) | 基于多头注意力和图卷积网络的方面级情感分析方法及系统 | |
CN113705775A (zh) | 一种神经网络的剪枝方法、装置、设备及存储介质 | |
WO2021127982A1 (zh) | 语音情感识别方法、智能装置和计算机可读存储介质 | |
KR20220045424A (ko) | 인공 신경망을 압축하는 방법 및 장치 | |
WO2021147276A1 (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
CN113763364A (zh) | 一种基于卷积神经网络的图像缺陷检测方法 | |
CN114565092A (zh) | 一种神经网络结构确定方法及其装置 | |
CN116310667A (zh) | 联合对比损失和重建损失的自监督视觉表征学习方法 | |
CN116012879A (zh) | 改进YOLOv4网络的行人检测方法、系统、设备及介质 | |
CN111222534A (zh) | 一种基于双向特征融合和更平衡l1损失的单发多框检测器优化方法 | |
KR102189811B1 (ko) | 멀티 홉 이웃을 이용한 컨볼루션 학습 기반의 지식 그래프 완성 방법 및 장치 | |
CN114841344A (zh) | 一种应用于图像处理的量子神经网络剪枝方法及系统 | |
CN116432736A (zh) | 神经网络模型优化方法、装置及计算设备 | |
CN114819096A (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
CN113962332B (zh) | 基于自优化融合反馈的显著目标识别方法 | |
CN113657466B (zh) | 预训练模型的生成方法、装置、电子设备和存储介质 | |
CN112529064B (zh) | 一种高效的实时语义分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |