用于卷积计算的方法、计算设备和计算机可读存储介质技术

技术编号:27978531 阅读:13 留言:0更新日期:2021-04-06 14:13
本公开涉及一种用于卷积计算的方法、计算设备和计算机可读存储介质。该方法包括:如果确定当前周期为初始周期,从输入缓存向脉动阵列加载n*n像素的数据,脉动阵列包括第一预定数目行乘以第二预定数目列的处理单元,初始周期与初始权重相关联,n为自然数;如果确定当前周期为初始周期之后的其他周期,基于当前周期的顺序,向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据;以及如果确定完成当前周期所对应的数据加载,经由输出复用单元,在脉动阵列中的一组或多组n*n像素的数据中选择一组n*n像素的数据,以便提供至通用矩阵乘单元。根据本公开的实施例,能够有效降低带宽占用和功率消耗。

【技术实现步骤摘要】
用于卷积计算的方法、计算设备和计算机可读存储介质
本公开的实施例总体上涉及机器学习领域,更具体地涉及一种用于卷积计算的方法、计算设备和计算机可读存储介质。
技术介绍
机器学习中的典型运算为卷积计算,卷积计算是将卷积核中的权重和对应的输入像素块相乘再相加进而生成对应输出特征的值。块卷积需要img2col(图像到列)函数将像素块转换为矩阵,传统卷积计算的方法,例如基于img2col函数的块卷积计算,其要求每个周期加载每个权重的完整像素。例如,在原始的2x2像素的图像数据经由填充(padding)处理得到的4x4像素的图像数据上进行3x3的块卷积(9个权重,从weight0到weight8,对应于初始周期至第八周期,即cycle0至cycle8)的运算时,每个周期需要加载完整的2x2像素的数据。由于对于相邻周期,所需加载的像素数据存在相同的数据,重新加载完整的2x2像素的数据会导致浪费带宽和功率。综上,传统的卷积计算方案因每个周期需要重新加载对应于每个权重的完整像素,因此导致占用更多带宽和消耗更高的功率。
技术实现思路
本公开提供了一种用于卷积计算的方法、计算设备和计算机可读存储介质,能够有效降低带宽占用和功率消耗。根据本公开的第一方面,提供了一种用于卷积计算的方法。该方法包括:如果确定当前周期为初始周期,从输入缓存向脉动阵列加载n*n像素的数据,脉动阵列包括第一预定数目行乘以第二预定数目列的处理单元,初始周期与初始权重相关联,n为自然数;如果确定当前周期为初始周期之后的其他周期,基于当前周期的顺序,向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据;以及如果确定完成当前周期所对应的数据加载,经由输出复用单元,在脉动阵列中的一组或多组n*n像素的数据中选择一组n*n像素的数据,以便提供至通用矩阵乘单元。根据本专利技术的第二方面,还提供了一种计算设备,该设备包括:输入缓存,用于缓存待加载的数据;输入复用单元,用于在初始周期,将来自输入缓存的n*n像素的待加载的数据向脉动阵列加载,以及在初始周期之后的其他周期,向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据;脉动阵列,被配置在输入缓存和通用矩阵乘单元之间,脉动阵列包括第一预定数目行乘以第二预定数目列的处理单元;以及输出复用单元,用于在每一个周期从脉动阵列中的一组或者多组n*n像素的数据中选择一组n*n像素的数据,以便提供至通用矩阵乘单元。根据本公开的第三方面,还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被机器执行时执行本公开的第一方面的方法。在一些实施例中,从输入缓存向脉动阵列加载n*n像素的数据包括:经由输入复用单元,从输入缓存向脉动阵列加载n*n像素的数据,输入复用单元包括多个第一输入复用单元和一个第二输入复用单元。在一些实施例中,基于当前周期的顺序向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据包括:如果确定当前周期为第一周期,向脉动阵列加载第n+1列像素的数据;以及如果确定当前周期为第二周期,向脉动阵列加载第n+2列像素的数据。在一些实施例中,基于当前周期的顺序向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据包括:如果确定当前周期为第三周期或者第六周期,脉动阵列自下而上地脉动处理单元的数据;以及经由输入复用单元,从输入缓存向脉动阵列加载第n行像素的数据。在一些实施例中,基于当前周期的顺序向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据包括:如果确定当前周期为第四周期、第五周期、第七周期和第八周期中的一个周期,向脉动阵列加载一个像素的数据。在一些实施例中,第一预定数目为8,第二预定数目为8或者11。在一些实施例中,所加载的n*n像素的数据为8*8像素的数据。在一些实施例中,输入复用单元包括多个第一输入复用单元和第二输入复用单元,第一预定数目为8,第二预定数目为8或者11。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。图1示意性示出了传统的用于卷积计算的方法的示意图。图2示意性示出了本公开的多个实施例能够在其中实现的计算设备的示意图。图3示出了根据本公开的实施例的用于卷积计算的方法的流程图。图4示出了根据本公开的实施例的用于加载数据的方法的示意图。图5示出了根据本公开的实施例的用于向通用矩阵乘单元提供数据的方法的流程图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本公开内容的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如前文描述,传统的用于卷积计算的方案,因每个周期需要加载对应于每个权重的完整像素,因此导致占用更多带宽和消耗更高的功率。以下结合图1说明传统的用于卷积计算的方法。图1示意性示出了传统的用于卷积计算的方法100的示意图。例如,如图1所示,例如在原始的2x2像素的图像数据(未示出)经由填充(padding)处理得到的4x4像素的图像数据110上进行3x3卷积核(未示出)的运算,该3x3卷积核包括9个权重,即初始权重(weight0)到第八权重(weight8)。例如,在初始周期,对应初始权重,需要加载2x2像素的数据120;对应第一权重,需要加载2x2像素的数据122;对应第二权重,需要加载2x2像素的数据124;对应第三权重,需要加载2x2像素的数据126;对应第四权重,需要加载2x2像素的数据128;对应第五权重,需要加载2x2像素的数据130;对应第六权重,需要加载2x2像素的数据132;对应第七权重,需要加载2x2像素的数据134;对应第八权重,需要加载2x2像素的数据136。可见,每个周期需要重新加载对应于每个权重的完整的2x2像素的数据。相邻权重之间所加载的部分像素相同。例如,初始周期中,对应初始权重(weight0)所加载的2x2像素中的数据“1”和“5”,与第一周期中的对应于第一权重(weight1)所加载的2x2像素中的数据“1”和“5”相同,因此,数据“1”和“5”至少被加载了两次。再例如,图1中黑色边框内的像素数据“5”、“6”、“9”和“10”对应于多个权重都存在被多次重复加载的情形。这些重复加载的情形导致卷本文档来自技高网...

【技术保护点】
1.一种用于卷积计算的方法,包括:/n如果确定当前周期为初始周期,从输入缓存向脉动阵列加载n*n像素的数据,所述脉动阵列包括第一预定数目行乘以第二预定数目列的处理单元,所述初始周期与初始权重相关联,n为自然数;/n如果确定当前周期为初始周期之后的其他周期,基于当前周期的顺序,向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据;以及/n如果确定完成当前周期所对应的数据加载,经由输出复用单元,在脉动阵列中的一组或多组n*n像素的数据中选择一组n*n像素的数据,以便提供至通用矩阵乘单元。/n

【技术特征摘要】
1.一种用于卷积计算的方法,包括:
如果确定当前周期为初始周期,从输入缓存向脉动阵列加载n*n像素的数据,所述脉动阵列包括第一预定数目行乘以第二预定数目列的处理单元,所述初始周期与初始权重相关联,n为自然数;
如果确定当前周期为初始周期之后的其他周期,基于当前周期的顺序,向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据;以及
如果确定完成当前周期所对应的数据加载,经由输出复用单元,在脉动阵列中的一组或多组n*n像素的数据中选择一组n*n像素的数据,以便提供至通用矩阵乘单元。


2.根据权利要求1所述的方法,其中由输入缓存向脉动阵列加载n*n像素的数据包括:
经由输入复用单元,从输入缓存向脉动阵列加载n*n像素的数据,所述输入复用单元包括多个第一输入复用单元和一个第二输入复用单元。


3.根据权利要求1所述的方法,其中基于当前周期的顺序向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据包括:
如果确定当前周期为第一周期,向所述脉动阵列加载第n+1列像素的数据;以及
如果确定当前周期为第二周期,向所述脉动阵列加载第n+2列像素的数据。


4.根据权利要求3所述的方法,其中基于当前周期的顺序向脉动阵列加载一列像素的数据、一行像素的数据或者一个像素的数据包括:
如果确定当前周期为第三周期或者第六周期,所述脉动阵列自下而上地脉动所述处理单元的数据;以及
经由输入复用单元,从输入缓存向所述脉动阵列加载第n...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1