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