System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 并行卷积计算方法、装置、目标卷积模块及存储介质制造方法及图纸_技高网

并行卷积计算方法、装置、目标卷积模块及存储介质制造方法及图纸

技术编号:41271873 阅读:3 留言:0更新日期:2024-05-11 09:25
本发明专利技术实施例提供了一种并行卷积计算方法、装置、目标卷积模块及存储介质。方案如下:接收待处理数据;根据待处理数据对应的帧周期,以及目标卷积模块对应的输入通道数和输出通道数,计算待处理数据对应的循环处理周期和并行支路数;基于并行支路数,对预设卷积参数进行多项分解,得到第一卷积参数集;基于循环处理周期,从待处理数据中获取预设数量路量化数据;基于第一卷积参数集,按照Winograd算法,并行对预设数量路量化数据进行卷积计算,得到第二输出数据。通过本申请实施例提供的技术方案,通过对待处理数据的并行卷积计算,提高了待处理数据的卷积计算的效率,实现了硬件资源有限的情况下卷积计算高效性。

【技术实现步骤摘要】

本专利技术涉及人工智能,特别是涉及一种并行卷积计算方法、装置、目标卷积模块及存储介质


技术介绍

1、随着人工智能技术的不断发展,卷积神经网络模型的应用愈发广泛,尤其是在图像处理过程中不可避免的需要利用卷积神经网络模型中的卷积模块对图像数据进行卷积处理。

2、相关技术中,在利用卷积模块对图像数据进行卷积计算时,需要占用大量的逻辑资源、计算资源、存储资源和总线资源等,从而对现场可编程逻辑门阵列(fieldprogrammable gate array,fpga)等可编程逻辑器件提出较高的硬件要求。但是,fpga等可编程逻辑器件的硬件资源往往又是非常有限的,这导致卷积计算所需的硬件要求与fpga等可编程逻辑器件的硬件资源出现矛盾。因此,如何在硬件资源有限的情况下实现卷积神经网络模型的高速并行卷积计算是卷积神经网络模型应用的关键问题。


技术实现思路

1、本专利技术实施例的目的在于提供一种并行卷积计算方法、装置、目标卷积模块及存储介质,以实现硬件资源有限的情况下卷积计算高效性。具体技术方案如下:

2、本申请实施例提供了一种并行卷积计算方法,应用于目标卷积模块,所述方法包括:

3、接收待处理数据,所述待处理数据为前一处理模块对与视频流的相关数据进行处理得到的第一输出数据;

4、根据所述待处理数据对应的帧周期,以及所述目标卷积模块对应的输入通道数和输出通道数,计算所述待处理数据对应的循环处理周期和并行支路数;

5、基于所述并行支路数,对预设卷积参数进行多项分解,得到第一卷积参数集,所述第一卷积参数集中包括数量与所述并行支路数匹配的第一卷积参数;

6、基于所述循环处理周期,从所述待处理数据中获取预设数量路量化数据;

7、基于所述第一卷积参数集,按照威诺格拉德(winograd)算法,并行对所述预设数量路量化数据进行卷积计算,得到第二输出数据。

8、可选的,所述根据所述待处理数据对应的帧周期,以及所述目标卷积模块对应的输入通道数和输出通道数,计算所述待处理数据对应的循环处理周期和并行支路数的步骤,包括:

9、以所述待处理数据中的每一行为单位,根据所述待处理数据的帧周期以及所述目标卷积模块的时钟频率,计算所述待处理数据的行周期;

10、根据所述目标卷积模块的输入通道数以及所述待处理数据的列数量,计算所述待处理数据中每一行数据对应的传输时长;

11、根据所述行周期和所述传输时长,计算所述待处理数据对应的循环处理周期;

12、根据所述循环处理周期和所述目标卷积模块的输出通道数,计算所述待处理数据对应的并行支路数。

13、可选的,所述根据所述行周期和所述传输时长,计算所述待处理数据对应的循环处理周期的步骤,包括:

14、利用以下公式,计算所述待处理数据对应的循环处理周期:

15、

16、其中,n为所述循环处理周期,为下取整操作,log2为以2为底的对数操作,t1为所述行周期,t2为所述传输时长。

17、可选的,所述根据所述循环处理周期和所述目标卷积模块的输出通道数,计算所述待处理数据对应的并行支路数的步骤,包括:

18、利用以下公式,计算所述待处理数据对应的并行支路数:

19、

20、其中,p为所述并行支路数,cout为所述目标卷积模块的输入通道数,n为所述循环处理周期。

21、可选的,所述基于所述并行支路数,对预设卷积参数进行多项分解,得到第一卷积参数集的步骤,包括:

22、以预设卷积参数中基本卷积核的行数为单位,对所述预设卷积参数进行分解,得到包括多个第二卷积参数的第二卷积参数集;

23、按照所述并行支路数,对所述第二卷积参数集进行分解,得到包括多个第三卷积参数的第三卷积参数集;

24、以所述基本卷积核的列数为单位,对所述第三卷积参数集中的每一第三卷积参数进行合并,得到第四卷积参数集,所述第四卷积参数集中第四卷积参数的数量与所述并行支路数匹配;

25、按照预设并行卷积顺序要求,对所述第四卷积参数集中的第四卷积参数进行重排列,得到第一卷积参数集。

26、可选的,所述基于所述循环处理周期,从所述待处理数据中获取预设数量路量化数据的步骤,包括:

27、以待处理数据中的每一行为单位,按照预设通道顺序,对所述待处理数据中各通道对应的数据进行交叉拼接,得到拼接数据,所述拼接数据中包括帧标识和行标识;

28、基于所述拼接数据中的帧标识和行标识,以及所述循环处理周期,按照视频帧格式,以行为单位将所述拼接数据循环缓存至预设缓存器;

29、按照所述循环处理周期,并行从所述预设缓存器中读取预设数量路数据,得到量化数据。

30、可选的,所述基于所述第一卷积参数集,按照winograd算法,并行对所述预设数量路量化数据进行卷积计算,得到第二输出数据的步骤,包括:

31、对每路量化数据进行量化补偿,得到各路量化数据对应的第一补偿数据;

32、并行将各路第一补偿数据分别输入对应的四级移位寄存器,获取每一级移位寄存器输出的移位数据;

33、基于所述第一卷积参数集,对各路量化数据对应的目标并行支路数据进行winograd计算,得到第一卷积计算结果,所述目标并行支路数据为每级移位寄存器输出的移位数据和输入所述四级移位寄存器的第一补偿数据中的四路支路数据;

34、对所述第一卷积计算结果进行量化补偿,得到第二补偿数据;

35、按照预设通道顺序,以行为单位将所述第二补偿数据存储至预设存储器;

36、按照视频帧格式,以行为单位对所述预设存储器中存储的数据进行读取,得到输出数据。

37、可选的,所述基于所述第一卷积参数集,对各路量化数据对应的目标并行支路数据进行winograd计算,得到第一卷积计算结果的步骤,包括:

38、针对每路量化数据,基于winograd算法,对该路量化数据对应的目标并行支路数据中的四路支路数据进行求和计算,得到该路量化数据对应的四路第一求和数据;

39、对所述第一卷积参数集中的每一第一卷积参数进行winograd参数转换,得到四个卷积权重;

40、基于winograd算法,对所述四个卷积权重和该路量化数据对应的四路第一求和数据进行卷积计算,得到该路量化数据对应的四路第二卷积计算结果;

41、基于winograd算法,对该路量化数据对应的四路第二卷积计算结果进行求和计算,得到该路量化数据对应的两路第二求和数据;

42、基于winograd算法,针对各路量化数据对应的两路第二求和数据进行求和计算,得到两路第三求和数据;

43、以所述输出通道数为累加周期,对每一累加周期内的两路第三求和数据进行循环累加,得到第一卷积计算结果。

44、本申请实施例本文档来自技高网...

【技术保护点】

1.一种并行卷积计算方法,其特征在于,应用于目标卷积模块,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理数据对应的帧周期,以及所述目标卷积模块对应的输入通道数和输出通道数,计算所述待处理数据对应的循环处理周期和并行支路数的步骤,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述行周期和所述传输时长,计算所述待处理数据对应的循环处理周期的步骤,包括:

4.根据权利要求2所述的方法,其特征在于,所述根据所述循环处理周期和所述目标卷积模块的输出通道数,计算所述待处理数据对应的并行支路数的步骤,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述并行支路数,对预设卷积参数进行多项分解,得到第一卷积参数集的步骤,包括:

6.根据权利要求1所述的方法,其特征在于,所述基于所述循环处理周期,从所述待处理数据中获取预设数量路量化数据的步骤,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于所述第一卷积参数集,按照Winograd算法,并行对所述预设数量路量化数据进行卷积计算,得到第二输出数据的步骤,包括:

8.根据权利要求7所述的方法,其特征在于,所述基于所述第一卷积参数集,对各路量化数据对应的目标并行支路数据进行Winograd计算,得到第一卷积计算结果的步骤,包括:

9.一种并行卷积计算装置,其特征在于,应用于目标卷积模块,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述第一计算单元,包括:

11.根据权利要求10所述的装置,其特征在于,所述第三计算子单元,具体用于利用以下公式,计算所述待处理数据对应的循环处理周期:

12.根据权利要求10所述的装置,其特征在于,所述第四计算子单元,具体用于利用以下公式,计算所述待处理数据对应的并行支路数:

13.根据权利要求9所述的装置,其特征在于,所述分解单元,具体用于以预设卷积参数中基本卷积核的行数为单位,对所述预设卷积参数进行分解,得到包括多个第二卷积参数的第二卷积参数集;

14.根据权利要求9所述的装置,其特征在于,所述获取单元,具体用于以待处理数据中的每一行为单位,按照预设通道顺序,对所述待处理数据中各通道对应的数据进行交叉拼接,得到拼接数据,所述拼接数据中包括帧标识和行标识;

15.根据权利要求9所述的装置,其特征在于,所述第二计算单元,包括:

16.根据权利要求15所述的装置,其特征在于,所述第五计算子单元,具体用于针对每路量化数据,基于Winograd算法,对该路量化数据对应的目标并行支路数据中的四路支路数据进行求和计算,得到该路量化数据对应的四路第一求和数据;

17.一种目标卷积模块,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有预设卷积参数,所述预设卷积参数被处理器调用实现权利要求1-8任一所述的方法步骤。

...

【技术特征摘要】

1.一种并行卷积计算方法,其特征在于,应用于目标卷积模块,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理数据对应的帧周期,以及所述目标卷积模块对应的输入通道数和输出通道数,计算所述待处理数据对应的循环处理周期和并行支路数的步骤,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述行周期和所述传输时长,计算所述待处理数据对应的循环处理周期的步骤,包括:

4.根据权利要求2所述的方法,其特征在于,所述根据所述循环处理周期和所述目标卷积模块的输出通道数,计算所述待处理数据对应的并行支路数的步骤,包括:

5.根据权利要求1所述的方法,其特征在于,所述基于所述并行支路数,对预设卷积参数进行多项分解,得到第一卷积参数集的步骤,包括:

6.根据权利要求1所述的方法,其特征在于,所述基于所述循环处理周期,从所述待处理数据中获取预设数量路量化数据的步骤,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于所述第一卷积参数集,按照winograd算法,并行对所述预设数量路量化数据进行卷积计算,得到第二输出数据的步骤,包括:

8.根据权利要求7所述的方法,其特征在于,所述基于所述第一卷积参数集,对各路量化数据对应的目标并行支路数据进行winograd计算,得到第一卷积计算结果的步骤,包括:

9.一种并行卷积计算装置,其特征在于,应用于目标卷积模块,所述装置包括:

10.根据权利要求9所述的装置,其特征在于...

【专利技术属性】
技术研发人员:杨再初朱才志周晓孙耀晖
申请(专利权)人:英特灵达信息技术深圳有限公司
类型:发明
国别省市:

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

1