数据处理方法、存储介质及电子设备与流程

文档序号:34247422发布日期:2023-05-25 01:53阅读:44来源:国知局
数据处理方法、存储介质及电子设备与流程

本发明涉及神经网络的,尤其涉及一种数据处理方法、存储介质及电子设备。


背景技术:

1、随着人工智能(artificial intelligence,ai)技术的快速发展,神经网络(例如,深度神经网络)近年来广泛应用于在计算机视觉、语音、自然语言、强化学习等领域。但是随着神经网络算法的发展,算法的复杂度越来越高,模型结构越来越复杂,相应地,部署有神经网络模型的设备的运算资源和内存需求也会越大。因此,在神经网络模型被部署于运算资源、存储资源有限的电子设备(手机等嵌入式电子设备)中时,一般需要通过对神经网络模型进行量化,以使得模型内存变小,数据处理速度变快。

2、但是,对神经网络模型进行量化,会将神经网络模型中的输入数据和输出数据从高精度的数量级量化为低精度的数量级,会导致运算的精度损失;且对于带有分支结构的神经网络模型,如包括有按元素加或减或比较大小算子的模型,该算子的多个输入数据来自不同分支。而多个输入数据通常为独立量化,多个输入数据量化后会导致输入数据的精度损失,通过精度损失的输入数据执行运算会导致更大的精度损失。


技术实现思路

1、本发明实施例提供了一种数据处理方法、存储介质及电子设备。

2、第一方面,本发明提供了一种数据处理方法,应用于电子设备,电子设备上运行有神经网络模型,神经网络模型包括多个第一算子、第二算子。方法包括:获取神经网络模型在对待处理数据进行处理的过程中,由多个第一算子输出的多个第一输出数据;对多个第一输出数据的定点数取值范围进行放大处理,得到多个第二输出数据;将多个第二输出数据输入第二算子,得到第二算子的第三输出数据;对第三输出数据的定点数取值范围进行转换处理,得到第四输出数据。

3、本申请实施例中,在执行第二算子对应的运算之前,对多个第一算子的第一输出数据的定点数取值范围进行放大处理的转换,放大后得的多个第二输出数据不仅不会出现精度损失,还可以提高数据精度。并且,基于未出现精度损失且高数据精度的多个第二输出数据执行第二算子对应运算,可以确保第二算子输出数据的数据精度。

4、在上述第一方面的一种可能的实现中,上述对多个第一输出数据的定点数取值范围进行放大处理,得到多个第二输出数据,包括:确定多个第一算子的第一量化系数;基于多个第一量化系数的大小关系,确定第一转换系数;基于第一转换系数对多个第一输出数据的定点数取值范围进行放大处理。

5、在上述第一方面的一种可能的实现中,上述基于多个第一量化系数的大小关系,确定第一转换系数,包括:将多个第一量化系数中数值最大的一个第一量化系数作为第一转换系数。

6、在上述第一方面的一种可能的实现中,上述对第三输出数据的定点数取值范围进行缩小处理,得到第四输出数据,包括:确定第二算子的第二量化系数;基于第二量化系数与第一转换系数的比值关系,确定第二转换系数;基于第二转换系数对第三输出数据的定点数取值范围进行转换处理。

7、在上述第一方面的一种可能的实现中,上述基于第二转换系数对第三输出数据的定点数取值范围进行转换处理,包括:对应于第三输出数据的定点数取值范围小于第二输出数据的定点数取值范围,基于第二转换系数对第三输出数据的定点数取值范围进行缩小处理;对应于第三输出数据的定点数取值范围大于第二输出数据的定点数取值范围,基于第二转换系数对第三输出数据的定点数取值范围进行放大处理。

8、在上述第一方面的一种可能的实现中,上述第一算子的输入数据为:根据第一量化系数将第一输出数据进行反量化处理得到的第一输入数据,其中,第一输入数据为浮点数。

9、在上述第一方面的一种可能的实现中,上述第二算子为多个第一算子的关联运算。

10、在上述第一方面的一种可能的实现中,上述第二算子包括以下至少一种运算:加法运算、减法运算、比较最大值运算和比较最小值运算。

11、第二方面,本发明实施例提供了一种可读存储介质,该可读存储介质上存储有指令,该指令在电子设备上执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种数据处理方法。

12、第三方面,本发明实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于执行存储器中存储的指令以实现上述第一方面及上述第一方面的各种可能实现提供的任意一种数据处理方法。

13、第四方面,本发明实施例提供了一种程序产品,该程序产品中包括指令,在该指令被电子设备执行时可以使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种数据处理方法。



技术特征:

1.一种数据处理方法,应用于电子设备,其特征在于,所述电子设备上运行有神经网络模型,所述神经网络模型包括多个第一算子、第二算子;

2.根据权利要求1所述的方法,其特征在于,所述对多个所述第一输出数据的定点数取值范围进行放大处理,得到多个第二输出数据,包括:

3.根据权利要求2所述的方法,其特征在于,所述基于多个所述第一量化系数的大小关系,确定第一转换系数,包括:

4.根据权利要求2所述的方法,其特征在于,所述对所述第三输出数据的定点数取值范围进行缩小处理,得到第四输出数据,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述第二转换系数对所述第三输出数据的定点数取值范围进行转换处理,包括:

6.根据权利要求2所述的方法,其特征在于,

7.根据权利要求1至6中任一项所述的方法,其特征在于,

8.根据权利要求1至6中任一项所述的方法,其特征在于,所述第二算子包括以下至少一种运算:

9.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储有指令,所述指令在电子设备上执行时使所述电子设备实现权利要求1至8中任一项所述的方法。

10.一种电子设备,其特征在于,包括:


技术总结
本发明涉及神经网络的技术领域,公开了一种数据处理方法、存储介质及电子设备,该方法包括:对多个第一算子的第一输出数据的定点数取值范围进行放大处理,得到多个第二输出数据,将多个第二输出数据输入第二算子,得到第二算子的第三输出数据;对第三输出数据的定点数取值范围进行转换处理,得到第四输出数据。在执行第二算子对应的运算之前,对多个第一算子的第一输出数据的定点数取值范围进行放大处理的转换,放大后得的多个第二输出数据不仅不会出现精度损失,还可以提高数据精度。并且,基于未出现精度损失且高数据精度的多个第二输出数据执行第二算子对应运算,可以确保第二算子输出数据的数据精度。

技术研发人员:余宗桥,许礼武,黄敦博
受保护的技术使用者:安谋科技(中国)有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1