本申请涉及数据缓存,特别是涉及一种图像数据处理方法、装置、计算机设备及可读存储介质。
背景技术:
1、随着卷积神经网络技术的发展,卷积神经网络的结构越来越复杂,训练参数和计算量不断增加,当前通用的处理器难以满足计算需求,于是采用fpga(field programmablegate array,现场可编程逻辑门阵列)来构建神经网络加速器,提升卷积运算单元的性能。fpga上的数据缓存资源用于存储需要进行卷积的数据,由于fpga上的数据缓存资源有限,利用fpga的数据缓存机制对图像数据进行处理对提升性能至关重要。
2、传统技术中,fpga的数据缓存机制,使得神经网络加速器在多步进的情况下,增加了卷积运算单元的运算次数,并使得卷积运算单元需要等待数据到来,从而导致卷积运算效率低。
技术实现思路
1、本申请提供一种图像数据处理方法、装置、计算机设备及计算机可读存储介质,能够提高卷积运算效率。
2、第一方面,本申请提供了一种图像数据处理方法,包括:
3、获取目标图像对应的待进行卷积运算的目标特征图;
4、从目标特征图中确定待缓存的当前行,并从目标数量的存储块中确定当前行对应的存储块;目标数量是基于卷积运算的卷积步长以及卷积核的尺寸确定的;
5、获取当前行中的当前读像素位置起连续的第一数量像素位置处的特征值,得到待缓存的特征值序列,将特征值序列存储至当前行对应的存储块中;
6、从目标数量的存储块中读取待卷积数据,将待卷积数据存储到移位寄存器中;待卷积数据在目标特征图中所占的像素位置的数量为第二数量;其中,第一数量与第二数量之间的关系满足缓存与卷积同步;
7、利用卷积运算单元对移位寄存器中的数据进行卷积运算,得到目标特征图对应的运算结果,以基于运算结果确定目标图像的图像处理结果。
8、第二方面,本申请还提供了一种图像数据处理装置,包括:
9、获取模块,用于获取目标图像对应的待进行卷积运算的目标特征图;
10、确定模块,用于从目标特征图中确定待缓存的当前行,并从目标数量的存储块中确定当前行对应的存储块;目标数量是基于卷积运算的卷积步长以及卷积核的尺寸确定的;
11、存储模块,用于获取当前行中的当前读像素位置起连续的第一数量像素位置处的特征值,得到待缓存的特征值序列,将特征值序列存储至当前行对应的存储块中;
12、读取模块,用于从目标数量的存储块中读取待卷积数据,将待卷积数据存储到移位寄存器中;待卷积数据在目标特征图中所占的像素位置的数量为第二数量;其中,第一数量与第二数量之间的关系满足缓存与卷积同步;
13、运算模块,用于利用卷积运算单元对移位寄存器中的数据进行卷积运算,得到目标特征图对应的运算结果,以基于运算结果确定目标图像的图像处理结果。
14、第三方面,本申请还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述图像数据处理方法中的步骤。
15、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述图像数据处理方法中的步骤。
16、第五方面,本申请还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述图像数据处理方法中的步骤。
17、上述图像数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品,由于第一数量与第二数量之间的关系满足缓存与卷积同步,使得存储块每次可以提供卷积运算单元进行一次运算所需的数据,卷积运算单元不需要等待,两个部分形成一条高效的流水线,从而提高了卷积运算的效率。
1.一种图像数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述当前行对应的存储块包括第一存储块以及第二存储块;
3.根据权利要求2所述的方法,其特征在于,所述基于第一计数器的当前计数值确定当前读像素位置、第一存地址以及第二存地址,包括:
4.根据权利要求2所述的方法,其特征在于,所述从所述目标数量的存储块中读取待卷积数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述从目标数量的存储块中确定所述当前行对应的存储块,包括:
6.根据权利要求1所述的方法,其特征在于,所述卷积步长为第一卷积步长;所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述存储单元的存储大小为存储所述目标特征图中的单个特征值所需要占用的存储大小的两倍,所述目标特征图为多个;所述方法还包括:
8.一种图像数据处理装置,其特征在于,包括:
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。