卷积数据转换方法、装置、卷积计算方法及相关设备与流程
- 国知局
- 2024-10-09 14:46:25
本技术属于神经网络领域,具体涉及一种卷积数据转换方法、装置、卷积计算方法及相关设备。
背景技术:
1、在深度学习中,常用的神经网络包括卷积神经网络,卷积神经网络中会配置卷积层进行卷积计算。
2、目前,卷积运算的类型包括conv2d(二维卷积运算)和conv3d(三维反卷积运算),conv2d用于对二维的卷积数据进行卷积计算,conv3d用于对三维的卷积数据进行卷积计算。然而,目前一些硬件设备仅支持进行conv2d,而若其配置的卷积神经网络包括conv3d,或,输入卷积神经网络的数据包括三维的卷积数据,则硬件设备无法正常计算卷积计算结果。
技术实现思路
1、鉴于此,本技术的目的在于提供一种卷积数据转换方法、装置、卷积计算方法及相关设备,以使得更多的硬件设备能够进行三维卷积运算。
2、第一方面,本技术实施例提供了一种卷积数据转换方法,应用于电子设备,所述卷积数据转换方法包括:获取三维卷积运算的第一待运算数据;根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量;其中,所述目标张量中包括深度维度、高度维度和宽度维度,且所述深度维度的值与三维卷积运算进行单次卷积的数据数量相同,所述目标张量的高度维度的值与所述第一待运算数据的高度维度的值相同,所述目标张量的宽度维度的值与所述第一待运算数据的宽度维度的值相同;将所述深度维度的值与所述目标张量中其他维度的值合并,并消除所述目标张量中的深度维度,得到二维卷积运算的第二待运算数据。
3、本技术实施例中,通过将三维卷积运算的第一待运算数据转换为二维卷积运算的第二待运算数据,使得原第一待运算数据能够通过二维卷积运算的方式进行卷积运算,从而使得三维卷积运算的数据能够应用于仅能进行二维卷积运算的设备中并正确计算得到卷积计算结果,进而使得更多的硬件设备能够进行三维卷积运算。其中,由于二维卷积运算的数据中不包括深度维度,因此,在将三维卷积运算的数据转换为二维卷积运算的数据时,消除三维卷积运算的第一待运算数据中深度维度。为确保二维卷积运算对三维卷积运算数据进行运算的准确性,需保全第一待运算数据的全部特征,因此,在转换后的第二待运算数据仍保留深度维度的特征,在本技术实施例中,将第一待运算数据转换为对应的目标张量,再将目标张量中的深度维度和其他维度合并,得到二维卷积运算的第二待运算数据,以此保留第一待运算数据中深度维度的特征并使其能够参与二维卷积运算。再者,由于目标张量的深度维度的值与三维卷积运算进行单次卷积的数据数量相同,由此,可以在进行二维卷积运算时,减少深度维度的特征丢失出现运算结果错误的情况。因此,通过上述方式,实现三维卷积运算的数据至第二卷积数据的转换的同时,二维运算过程中仍能保留三维卷积运算的数据中各维度的特征并使其参与运算,从而可以使得三维卷积运算的数据能够被更多的设备所使用的同时,保证了二维卷积运算对第一待运算数据进行卷积运算具有较高的准确性。
4、一实施例中,所述第一待运算数据为默认三维数据,所述默认三维数据对应默认数据布局;所述第一待运算数据的数据维度还包括通道维度;在根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张之前,所述方法还包括:对所述第一待运算数据进行布局转置,所述布局转置用于置换所述深度和所述通道数在所述第一待运算数据中的位置布局关系;其中,若所述第一待运算数据的类型为权重数据,则被置换的通道维度为输入通道维度;对应的,所述根据所述第一待运算数据及其类型获取该第一待运算数据对应的目标张量,包括:根据所述第一待运算数据及其类型从布局转置后的第一待运算数据切分出对应的目标张量。
5、本技术实施例中,通过布局转置,将深度从数据布局中转置出来,减少切分对数据完整性和准确性造成干扰的可能性,从而更易于气氛,有效降低切分难度,提高数据转换的效率。其中,权重数据包括输入通道和输出通道两个维度,
6、一实施例中,所述得到二维卷积运算的第二待运算数据之后,所述方法还包括:在基于所述第二待运算数据完成二维卷积运算之后,将所述第一待运算数据恢复为所述默认数据布局。
7、本技术实施例中,通过将第一待运算数据恢复为默认数据布局的默认三维数据,以使得第一待运算数据能够参与后续的运算,保障第一待运算数据参与多次运算时的计算准确性。
8、一实施例中,所述第一待运算数据的类型包括输出数据,所述三维卷积运算对所述输出数据进行单次卷积的数据数量为1;所述根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量,包括:在确定所述第一待运算数据为所述输出数据的情况下,确定所述目标张量的深度维度的值为单位深度值,所述单位深度值为1;从所述第一待运算数据中切分出高度和宽度不变,深度维度的值为单位深度值的目标分量,且所述目标分量的数量与所述第一待运算数据的深度维度的值匹配。
9、本技术实施例中,三维卷积运算对输出数据进行单次卷积的数据数量为1,因此,可以将类型为输出数据的第一待运算数据切分为高度和宽度不变,深度维度的值为单位深度值1的目标分量,目标分量的数量与第一待运算数据的深度值匹配,由此,可以将深度维度的特征转换为目标分量的数量进行保留,从而在消除该目标分量中的深度维度后,以使得第一待运算数据能够保留能够深度维度的特征参与二维卷积运算。
10、一实施例中,所述第一待运算数据还包括有值为n的批次维度;所述批次维度表征三维卷积运算单次计算时所使用的数据量;n为常值;所述根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量之前,所述方法还包括:在所述n不为1的情况下,从所述第一待运算数据中切割出高度、宽度、深度不变,且所述批次维度的值为1的n个中间数据;对应的,所述从所述第一待运算数据中切分出高度和宽度不变,深度维度的值为单位深度值的目标分量,包括:在所述第一待运算数据为输出数据的情况下,从n个所述中间数据中分别切割出高度、宽度、批次维度不变,且深度维度的值为单位深度值的目标张量,得到n×do个目标张量,其中,所述do为所述第一待运算数据的深度。
11、二维卷积运算的批次维度的值通常为1,因此,第一待运算数据需在不同维度上逐层展开,,本技术实施例中,在对第一待运算数据在深度上进行切分前,可以先对其在批次维度上进行切割,以得到批次维度的值为1的中间数据,再对中间数据进行深度上的切割,得到深度值为1的n×do个目标张量,由此,以便于二维卷积运算对其进行准确地计算。
12、一实施例中,所述第一待运算数据还包括有值为n的批次维度;所述批次维度表征三维卷积运算单次计算时所使用的数据量;所述n为常值;所述根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量,包括:在所述n为1的情况下且所述第一待运算数据为输出数据的情况下,从所述第一待运算数据中分别切割出高度维度、宽度维度、批次维度不变,且深度维度的值为所述单位深度值的目标张量,得到do个所述目标张量,其中,所述do为所述第一待运算数据的深度。
13、本实施例中,若n=1,则在批次维度上无需切割,因此,可以直接在深度维度上进行切割,以得到数量与第一待运算数据的深度维度的值匹配的目标分量。
14、一实施例中,所述第一待运算数据的类型包括输入数据,所述三维卷积运算对所述输入数据进行单次卷积的数据数量与该输入数据对应的权重数据的深度维度的值相同;所述根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量,包括:若所述第一待运算数据为输入数据,则获取第一深度值,所述第一深度值为该输入数据对应的权重数据的深度值;从所述第一待运算数据中切分出高度维度和宽度维度不变,且深度维度的值为所述第一深度值的目标分量,所述输入数据的目标分量的数量等于该输入数据对应输出数据的深度维度的值与批次维度的值的乘积。
15、由于在深度维度,卷积核每次卷积的数量为dw个数据,dw为输入数据对应的权重数据的深度维度的值,因此,在本技术实施例中,第一深度值也为dw,从而在对输入数据的深度维度进行切分时,每一次切分的数据长度在深度维度与权重数据的深度维度的值为dw匹配,以此来正确保留卷积计算时深度维度的特征,从而使得二维卷积计算能够对第一待运算数据进行准确地计算。而每一输出数据由输入数据与权重数据计算得到,因此,输入数据与输入数据相同,被切分的输出数据的数量为深度维度的值与批次维度的值的乘积,因此,输入数据的数量也为对应的输出数据的深度维度的值与批次维度的值的乘积。
16、一实施例中,所述第一待运算数据的类型包括权重数据;所述三维卷积运算对所述权重数据进行单次卷积的数据数量与所述权重数据的深度维度的值相同;所述根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量,包括:在确定所述第一待运算数据为所述权重数据的情况下,确定所述目标张量的深度维度的值为第二深度值,所述第二深度值与所述权重数据的深度维度的值相同;从所述第一待运算数据中切分出高度和宽度不变,且深度维度的值为所述第二深度值的目标分量。
17、与输出数据和输入数据的区别在于,输出数据和输入数据为变量,而权重数据通常为常量,因此,本技术实施例中,无需将权重数据切分为多份,而是直接截取完整的权重数据作为目标张量,从而保留权重数据完整的深度特征参与二维卷积运算。
18、一实施例中,所述消除所述目标张量中的深度维度,包括:将所述目标张量中的深度维度的值与通道维度的值相乘,并消除深度维度,得到所述第二待运算数据;其中,若所述第一待运算数据的类型为权重数据,则参与相乘的通道维度为输入通道维度。
19、本技术实施例中,在二维卷积计算时,通道维度的增加对原数据所表征的含义影响较小,因此,将深度维度与通道维度相乘合并,可以在使得深度维度的特征保存至通道维度的同时,减少对原数据的影响,提高后续二维卷积计算的准确性。由于权重数据包括输出通道和输入通道两个维度,以及输出数据是由输入数据和权重数据计算得到,因此,在本技术的实施例中,将权重数据的深度维度与输入通道相乘,有助于提高数据的准确性。
20、第二方面,本技术实施例提供一种卷积计算方法,应用于电子设备,所述卷积计算方法包括:获取输入至神经网络模型中进行二维卷积运算的第一待运算数据;基于如第一方面任一项所述卷积数据转换的方法,将所述第一待运算数据转换为二维卷积运算所需的第二待运算数据;将所述第二待运算数据输入预设的神经网络模型进行二维卷积计算。
21、第三方面,本技术实施例提供一种卷积数据转换装置,应用于电子设备;所述卷积数据转换装置,包括:获取模块,用于获取三维卷积运算的第一待运算数据;切分模块,由于根据所述第一待运算数据及其类型从该第一待运算数据切分出对应的目标张量;其中,所述目标张量中包括深度维度、高度维度和宽度维度,且所述深度维度的值与三维卷积运算进行单次卷积的数据数量相同,高度和宽度与所述第一待运算数据相同;转换模块,用于将所述深度维度的值与所述目标张量中其他维度的值合并,并消除所述目标张量中的深度维度,得到二维卷积运算的第二待运算数据。
22、第四方面,本技术实施例还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如第一方面任一项所述的卷积数据转换方法或如第二方面所述的卷积计算方法。
23、第五方面,本技术实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行为如第一方面任一项所述的卷积数据转换方法或如第二方面所述的卷积计算方法。
本文地址:https://www.jishuxx.com/zhuanli/20241009/306450.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。