基于深度优先数据调度的分块卷积计算专用架构和设备

文档序号:36505754发布日期:2023-12-28 14:34阅读:23来源:国知局
基于深度优先数据调度的分块卷积计算专用架构和设备

所属的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。


背景技术:

1、随着深度学习技术的不断发展,以卷积神经网络为代表的一系列模型在图像分类、目标检测和场景分割等领域取得了良好的效果,并在生活中得到了广泛应用。为了获得更好的任务精度,卷积神经网络模型常常采用由若干个卷积层和池化层构成的深度神经网络,但这些模型在gpu设备上进行前向推理时,通常会有大量的片外数据交互问题,这在一定程度上影响了卷积推理的效率。因此,需要设计一种针对卷积神经网络模型的专用计算架构,通过一定方法避免前向推理时片外数据交互的问题,提高卷积模型的推理效率。

2、尤其在家用图像设备领域和清洁设备领域,通常需要设置嵌入式设备通过基于卷积模型的检测算法来识别人体或物体,继续一种能够再小尺寸的设备中放入的参数计算量更大、对图像的计算更快的架构,提高用用体验。


技术实现思路

1、为了解决现有技术中的上述问题,即现有的gpu设备在进行前向推理时,难以避免大量的片外数据交互影像卷积推理效率的问题,本发明提供了一种基于深度优先数据调度的分块卷积计算专用架构,包括:block模块、block-wise convolution模块、weights模块、内部存储器和调度器模块;

2、所述block模块,配置为读取输入特征图像feature的一个block大小的特征作为第0级特征图;所述feature由p*q个block构成;

3、所述block-wise convolution模块,配置为对当前的第s级特征图执行分块卷积或池化的计算;

4、所述weights模块,配置为存储卷积模型中各卷积层的权重参数;

5、所述内部存储器,配置为临时存储卷积模型前向推理时各层的计算结果;

6、所述调度器模块,配置为对block模块、block-wise convolution模块、weights模块、内部存储器模块进行控制。

7、在一些优选的实施方式中,所述调度器模块,用于:

8、当block模块读取第0级特征图至内部存储器中时,将第0级卷积层的权重参数和所述第0级特征图传递至所述block-wise convolution模块中进行卷积运算,将卷积运算结果存入所述内部存储器。

9、在一些优选的实施方式中,所述所述内部存储器,包括sram1、sram2和sram3;

10、所述sram1用于存储输入block-wise convolution模块的待计算的特征图;

11、所述sram2用于存储block-wise convolution模块输出的卷积运算结果;

12、所述sram3用于存储block-wise convolution模块输出的池化结果。

13、在一些优选的实施方式中,所述调度器模块,还用于:

14、当完成当前卷积层的卷积运算后,若卷积模型的下一层为池化层,将下一层池化层设为当前层池化层,对上一层卷积层的卷积运算结果进行池化,并将池化结果存入所述内部存储器;

15、判断所述当前池化层的池化结果所在的特征图是否达到一个block大小;

16、若达到一个block大小,继续进行下一层运算;

17、若不达到一个block大小,则通过block模块读取输入特征图像feature的一个block的特征作为当前特征图,重新进行计算。

18、在一些优选的实施方式中,所述调度器模块,还用于:

19、当完成当前的第s级卷积层的卷积运算后,若卷积模型的第s+1级为卷积层,则将第s级的卷积结果即第s级特征图存入内部存储器的sram1或sram2中;

20、其中,在卷积模型的当前层为卷积层时,sram1和sram2为交替存储输出结果,若当前卷积层以sram1中的特征作为输入特征则将输出特征存入sram2中;若当前卷积层以sram2中的特征作为输入特征,则将输出特征存入sram1中。

21、在一些优选的实施方式中,所述调度器模块,还用于:

22、当卷积模型的第s级和第s+1级均为卷积层时,将sram1或sram2中的第s级特征作为输入特征,通过block-wise convolution调用所述输入特征和对应的权重参数完成卷积运算,获得第s+1级特征,并将第s+1级特征存入sram1或sram2中;

23、当全集模型的第s级为卷积层而第s+1级为池化层时,将sram1或sram2中的第s级特征作为输入特征,通过block-wise convolution模块输出池化后的结果作为第s+1级特征,并将第s+1级特征存入sram3中与当前池化层对应的存储区域;

24、在当前层为池化层时,池化结果均存入sram3中。

25、在一些优选的实施方式中,所述调度器模块,还用于:

26、当完成当前的第s级卷积层的卷积运算后,若模型的第s+1层是池化层,则通过block-wise convolution调用对应的权重参数,输出1/4个block大小的第s+1级池化结果作为第s+1级特征,并将所述第s+1级特征存入sram3与当前池化层对应的存储区域;

27、只有当sram3存储的特征满足一个block大小时才从sram3中调用特征作为输入特征进行卷积运算或池化运算。

28、在一些优选的实施方式中,所述sram3的每层池化层的池化结果分别设置存储区域。在一些优选的实施方式中,所述sram3的每层池化层的池化结果分别设置存储区域。

29、在一些优选的实施方式中,所述内部存储器,若设定block大小为b,则内部存储器的size大小为b*b*8bit,最大通道数为mac_c。

30、在一些优选的实施方式中,所述架构用于执行深度优先数据调度方法:

31、步骤s100,将训练好的卷积模型的模型结构存入调度器,将权重参数存入weights模块;

32、步骤s200,block读取输入特征图像feature的一个block大小的特征作为第0级特征图;

33、步骤s300,所述调度器模块将所述第0级特征图存入sram1中;此时卷积网络级数s=1;

34、步骤s400,调度器模块控制block-wise convolution模块调用sram1、sram2或seam3中的第s-1级特征图和weights模块中与当前层对应的权重参数,完成当前层运算,将第s级运算结果即第s级特征图存入sram1、sram2或sram3中;

35、所述将第s级运算结果即第s级特征图存入sram1、sram2或sram3中,具体为:

36、情况一:卷积网络第s级为卷积层时,若将sram1中的第s-1级特征作为当前层的输入特征,则将计算结果存入sram2中;

37、情况二:卷积网络第s级为卷积层时,若将sram2中的第s-1级特征作为当前层的输入特征,则将计算结果存入sram1中;

38、情况三:卷积网络第s级为卷积层时,若将sram3中的第s-1级特征作为当前层的输入特征,则将计算结果存入sram1中

39、情况四:卷积网络第s级为池化层时,输出结果均存入sram3中;

40、若s级为池化层,所述block-wise convolution模块输出第s级层池化结果,所述池化结果为1/4block大小,并存入sram3中与第s级层对应的存储区域;判断sram3第s层对应的存储区的特征图大小是否达到一个block大小;若达到一个block大小,设置s=s+1继续计算;若未达到一个block大小,则通过block模块读取输入特征图像feature的一个block的特征作为当前特征图,从第0层起进行计算;

41、步骤s500,直至完成最下层计算且第0级特征图没有待选取的block,结束计算。

42、本发明的第二方面,提出了一种电子设备,包括:至少一个处理器;以及与至少一个所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于深度优先数据调度的分块卷积方法。

43、本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于深度优先数据调度的分块卷积方法。

44、本发明的有益效果:

45、(1)本发明通过提出分块卷积计算的专用架构,通过将模型按照分块卷积的方式进行优化,仅需适当大小的内部存储器即可实现模型前向推理时无需片外数据交互,整个过程可通过调度器自动完成,提高了卷积推理的效率,且对小模型仅需少量内部存储器即可实现高效推理。

46、(2)本发明提出的分块卷积计算的专用架构,推理时占用更少的内部存储器,能够灵活的安装在家用摄像头如扫地机器人等嵌入式设备,以同样大小的体积能够执行更大的计算,与家用摄像头和扫地机器人的图像处理任务极其契合。

47、(3)本发明提出的分块卷积计算的专用架构,能够在自动驾驶领域等需要同时对多个摄像头进行计算处理。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1