一种神经网络的运算方法、相关装置、存储介质和设备制造方法及图纸

技术编号:38758287 阅读:8 留言:0更新日期:2023-09-10 09:43
本申请实施例公开了一种神经网络的运算方法、相关装置、存储介质和设备,神经网络包括N条支路,每条支路包括至少一个神经网络层,至少一个神经网络层支持定点计算,以及至少一个神经网络层支持浮点计算;所述方法应用于运算装置,所述方法包括:获取神经网络层i的输入数据Di,神经网络层i是任一神经网络层;基于硬件策略在Di与神经网络层i支持的数据类型不匹配时,将Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据;触发神经网络层i对转换后的数据进行计算。本申请提供的技术方案,能够更好地发挥各神经网络层的硬件特点,相对于只能将数据转为浮点格式的现有技术来说,提高了神经网络的运算速度。提高了神经网络的运算速度。提高了神经网络的运算速度。

【技术实现步骤摘要】
一种神经网络的运算方法、相关装置、存储介质和设备


[0001]本申请涉及人工智能
,尤其涉及一种神经网络的运算方法、相关装置、存储介质和设备。

技术介绍

[0002]随着计算机技术的发展,神经网络被越来越广泛地用来进行处理数据。该技术发展有如下两个趋势:使用更大的数据集和更复杂的模型。使用神经网络之前,需要对神经网络进行训练,在训练过程中,通过对神经网络进行不断的调整,使得神经网络能够预测出准确的信息。然而,越大的模型在训练时需要消耗的计算资源和内存也越大,导致时间和机器成本极速增。
[0003]如何进一步加快神经网络的训练速度是需要解决的问题。

技术实现思路

[0004]本申请实施例提供了一种神经网络的运算方法、相关装置、存储介质和设备,能够进一步加快神经网络的运算速度。
[0005]第一方面,本申请实施例提供了一种神经网络的运算方法,所述方法应用于运算装置,所述神经网络包括N条支路,每条支路包括至少一个神经网络层,所述N是正整数,所述神经网络包括至少一个神经网络层支持定点计算,所述神经网络包括至少一个神经网络层支持浮点计算;所述方法包括:获取神经网络层i的输入数据Di,所述神经网络层i是所述N条支路中任一支路中任一神经网络层;基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据;触发所述神经网络层i对转换后的数据进行计算。
[0006]采用该实施例提供的技术方案,神经网络在进行运算时,根据硬件策略在神经网络层的输入数据的数据类型与神经网络层支持的数据类型不匹配时,对输入数据进行转换,转换成神经网络层支持的数据类型,这样能够更好地发挥各神经网络层的硬件特点,本申请实施例提供的神经网络的运算方法在混合精度计算中既包括浮点计算也包括定点计算,定点计算通过降低精度使用更少位数的数值表示,减少了内存带宽,有利于提高神经网络的运算速度。
[0007]结合本申请实施例第一方面,在一些可能的实施方式中,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:基于所述神经网络层i对应的计算单元的类型,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。
[0008]结合本申请实施例第一方面,在一些可能的实施方式中,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式
的数据或第二目标位宽的定点格式的数据,包括:基于硬件指令,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。
[0009]结合本申请实施例第一方面,在一些可能的实施方式中,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:基于硬件策略,将每个所述神经网层支持的输入数据类型存储在配置文件中;读取配置文件,以将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。
[0010]结合本申请实施例第一方面,在一些可能的实施方式中,所述第一目标位宽的浮点格式的数据为单精度浮点数据float32或半精度浮点数据float16;所述第二目标位宽的定点格式的数据为int8或int16。
[0011]结合本申请实施例第一方面,在一些可能的实施方式中,所述将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:利用装饰器将所述Di转换为所述第一目标位宽的浮点数据或第二目标位宽的定点数据。在一些可能的实施方式中,所述装饰器为Quantify量化函数或cast函数。
[0012]在一些可能的实施方式中,在获取神经网络层i的输入数据Di之前,还可以包括获取所述神经网络的输入数据;将所述神经网络获取的输入数据按照所述神经网络包括的支路数量拆分成N个数据,其中,所述N个数据分别作为所述N条支路的输入数据。
[0013]第二方面,本申请实施例提供了一种神经网络的运算装置,该运算装置执行神经网络,所述神经网络包括N条支路,每条支路包括至少一个神经网络层,所述N是正整数,所述神经网络包括至少一个神经网络层支持定点计算,所述神经网络包括至少一个神经网络层支持浮点计算;所述运算装置包括:获取单元,用于获取神经网络层i的输入数据Di,所述神经网络层i是所述N条支路中任一支路中任一神经网络层;处理单元,用于基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据;计算单元,用于触发所述神经网络层i对转换后的数据进行计算。
[0014]采用该实施例提供的技术方案,神经网络的运算装置在进行运算时,根据硬件策略在神经网络层的输入数据的数据类型与神经网络层支持的数据类型不匹配时,对输入数据进行转换,转换成神经网络层支持的数据类型,这样能够更好地发挥各神经网络层的硬件特点,相对于混合精度计算中只能将数据转为浮点格式来说,本申请实施例提供的神经网络的运算方法在混合精度计算中既包括浮点计算也包括定点计算,定点计算通过降低精度使用更少位数的数值表示,减少了内存带宽,有利于进一步提高神经网络的运算速度。
[0015]结合本申请实施例第二方面,在一些可能的实施方式中,处理单元具体用于,基于所述神经网络层i对应的计算单元的类型,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。
[0016]结合本申请实施例第二方面,在一些可能的实施方式中,处理单元具体用于,基于硬件指令,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点
格式的数据。
[0017]结合本申请实施例第二方面,在一些可能的实施方式中,在所述将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据方面,所述处理单元具体用于,基于硬件策略,将每个所述神经网层支持的输入数据类型存储在配置文件中;读取配置文件,以将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。
[0018]结合本申请实施例第二方面,在一些可能的实施方式中,在所述将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据方面,所述处理单元具体用于,利用装饰器将所述Di转换为所述第一目标位宽的浮点数据或第二目标位宽的定点数据。
[0019]结合本申请实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络的运算方法,所述方法应用于运算装置,其特征在于,所述神经网络包括N条支路,每条支路包括至少一个神经网络层,所述N是正整数,所述神经网络包括至少一个神经网络层支持定点计算,所述神经网络包括至少一个神经网络层支持浮点计算;所述方法包括:获取神经网络层i的输入数据Di,所述神经网络层i是所述N条支路中任一支路中任一神经网络层;基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据;触发所述神经网络层i对转换后的数据进行计算。2.根据权利要求1所述的方法,其特征在于,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:基于所述神经网络层i对应的计算单元的类型,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。3.根据权利要求1所述的方法,其特征在于,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:基于硬件指令,确定所述神经网络层i支持浮点计算或者支持定点计算;根据所述神经网络层i支持的数据类型,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。4.根据权利要求1所述的方法,其特征在于,基于硬件策略在所述Di与所述神经网络层i支持的数据类型不匹配时,将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:基于硬件策略,将每个所述神经网层支持的输入数据类型存储在配置文件中;读取配置文件,以将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据。5.根据权利要求1所述的方法,其特征在于,所述将所述Di转换为第一目标位宽的浮点格式的数据或第二目标位宽的定点格式的数据,包括:利用装饰器将所述...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:寒武纪西安集成电路有限公司
类型:发明
国别省市:

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

1