嵌入式智能芯片的神经网络量化方法、装置和电子设备制造方法及图纸

技术编号:38716995 阅读:14 留言:0更新日期:2023-09-08 14:59
本发明专利技术公开一种嵌入式智能芯片的神经网络量化方法、装置和电子设备,包括:获取校准数据集、onnx模型、定点量化规则;基于onnx模型对校准数据集进行浮点推理以得到浮点数据总集,以及基于智能芯片对校准数据集进行定点推理以得到定点数据总集;获取智能芯片进行定点推理的推理时长;基于校准数据集、浮点数据总集、定点量化规则、定点数据总集和推理时长确定最终小数位宽。本申请运用onnx模型的优点,自动化完成浮点类型的定点量化,基于嵌入式智能芯片开发板对浮点运算的局限性及自身工具的难用性和效果差,简化定点量化同时,实现量化精度的提高,加快推理速度。加快推理速度。加快推理速度。

【技术实现步骤摘要】
嵌入式智能芯片的神经网络量化方法、装置和电子设备


[0001]本专利技术涉及深度学习训练算法
,具体涉及一种嵌入式智能芯片的神经网络量化方法、装置和电子设备。

技术介绍

[0002]目前的深度学习算法嵌入式部署中,嵌入式开发板有对浮点运算支持不佳的局限性及量化的单一性,影响嵌入式开发板推理性能的两大因素:网络结构、定点量化方式。因此“量化配置”尤为重要。
[0003]嵌入式智能芯片传统的量化流程为准备校准数据,统计每层激活值的输出;基于计算公式或阈值映射量化分布,得量化配置。但是由于神经网络不同层激活值分布,数据分布都不一样,因此现有的量化方式的单一性,无法满足所有模型量化,且基于公式或阈值的直接映射,泛化性差同时也缺乏对智能芯片推理特性和推理时间的考虑导致上板推理性能差。

技术实现思路

[0004]为解决上述
技术介绍
中的至少一个技术问题。本专利技术提出一种嵌入式智能芯片的神经网络量化方法、装置和电子设备。
[0005]根据本申请实施例的一个方面,提供了一种嵌入式智能芯片的神经网络量化方法,包括:获取校准数据集、onnx模型、定点量化规则;基于所述onnx模型对所述校准数据集进行浮点推理以得到浮点数据总集,以及基于智能芯片对所述校准数据集进行定点推理以得到定点数据总集;获取所述智能芯片进行定点推理的推理时长;基于所述校准数据集、所述浮点数据总集、所述定点量化规则、所述定点数据总集和所述推理时长确定最终小数位宽。
[0006]可选地,所述基于所述校准数据集、所述浮点数据总集、所述定点量化规则、所述定点数据总集和所述推理时长确定最终小数位宽包括:基于所述浮点数据总集和所述定点量化规则确定所述校准数据集的小数位宽集;基于所述校准数据集、所述小数位宽集、所述浮点数据总集、所述定点数据总集和所述推理时长确定所述最终小数位宽。
[0007]可选地,所述基于所述校准数据集、所述小数位宽集、所述浮点数据总集、所述定点数据总集和所述推理时长确定所述最终小数位宽包括:基于所述校准数据集、所述小数位宽集、所述浮点数据总集和所述定点数据总集确定推理误差因子;基于所述推理时长确定所述智能芯片的推理总时长;基于所述推理误差因子和所述推理总时长确定所述最终小数位宽。
[0008]可选地,所述基于所述推理误差因子和所述推理总时长确定所述最终小数位宽包括:基于所述推理误差因子和所述推理总时长确定第一修正因子和第二修正因子;基于所述推理误差因子、所述推理总时长、所述第一修正因子和所述第二修正因子确定所述最终小数位宽。
[0009]可选地,所述基于所述校准数据集、所述小数位宽集、所述浮点数据总集和所述定点数据总集确定推理误差因子包括:基于所述校准数据集确定输入数据量,以及基于所述浮点数据总集和所述定点数据总集确定输出数据量;基于所述输入数据量、所述输出数据量、所述浮点数据总集、所述小数位宽集和所述定点数据总集确定所述推理误差因子。
[0010]可选地,所述基于所述输入数据量、所述输出数据量、所述浮点数据总集、所述小数位宽集和所述定点数据总集确定所述推理误差因子包括:基于所述小数位宽集确定N个待推理数据集;基于不同的所述待推理数据集确定所述浮点数据总集和所述定点数据总集中与所述待推理数据集一一对应的浮点数据子集和定点数据子集,以得到N个浮点数据子集和N个定点数据子集;依次遍历N个待推理数据集,基于所述待推理数据集、所述浮点数据子集、所述定点数据子集、所述输入数据量、所述输出数据量确定所述推理误差因子,以得到N个推理误差因子,N为正整数。
[0011]可选地,量化方法还包括:基于N个所述推理误差因子以及所述推理总时长确定N个小数位宽;取N个所述小数位宽中的最小值作为最终小数位宽。
[0012]根据本申请实施例的又一个方面,还提供了一种嵌入式智能芯片的神经网络量化装置,包括:第一获取模块,用于获取校准数据集、onnx模型、定点量化规则;分析模块,基于所述onnx模型对所述校准数据集进行浮点推理以得到浮点数据总集,以及基于智能芯片对所述校准数据集进行定点推理以得到定点数据总集;第二获取模块,用于获取所述智能芯片进行定点推理的推理时长;执行模块,基于所述校准数据集、所述浮点数据总集、所述定点量化规则、所述定点数据总集和所述推理时长确定最终小数位宽。
[0013]根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行存储器上所存储的计算机程序来执行上述任一实施例中的方法步骤。
[0014]根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
[0015]在本申请实施例中,利用onnx模型对校准数据集进行浮点推理,同时利用智能芯片对校准数据集进行定点推理,分别获得浮点数据总集和定点数据总集,并基于智能芯片获取对校准数据集进行定点推理的推理时长,综合浮点数据总集、定点数据总集、提前设定的定点量化规则,平衡对校准数据集进行浮点推理和定点推理的误差,并结合推理时长确定最终的定点量化的小数位宽,运用onnx模型的优点,自动化完成浮点类型的定点量化,基于嵌入式智能芯片开发板对浮点运算的局限性及自身工具的难用性和效果差,简化定点量化同时,实现量化精度的提高,加快推理速度。
附图说明
[0016]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而
言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是根据本申请实施例的一种可选的嵌入式智能芯片的神经网络量化方法的流程示意图;
[0019]图2是根据本申请实施例的一种可选的嵌入式智能芯片的神经网络量化方法的另一流程示意图;
[0020]图3是根据本申请实施例的一种可选的嵌入式智能芯片的神经网络量化装置的结构框图;
[0021]图4是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
[0022]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0023]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式智能芯片的神经网络量化方法,其特征在于,包括:获取校准数据集、onnx模型、定点量化规则;基于所述onnx模型对所述校准数据集进行浮点推理以得到浮点数据总集,以及基于智能芯片对所述校准数据集进行定点推理以得到定点数据总集;获取所述智能芯片进行定点推理的推理时长;基于所述校准数据集、所述浮点数据总集、所述定点量化规则、所述定点数据总集和所述推理时长确定最终小数位宽。2.如权利要求1所述的嵌入式智能芯片的神经网络量化方法,其特征在于,所述基于所述校准数据集、所述浮点数据总集、所述定点量化规则、所述定点数据总集和所述推理时长确定最终小数位宽包括:基于所述浮点数据总集和所述定点量化规则确定所述校准数据集的小数位宽集;基于所述校准数据集、所述小数位宽集、所述浮点数据总集、所述定点数据总集和所述推理时长确定所述最终小数位宽。3.如权利要求2所述的嵌入式智能芯片的神经网络量化方法,其特征在于,所述基于所述校准数据集、所述小数位宽集、所述浮点数据总集、所述定点数据总集和所述推理时长确定所述最终小数位宽包括:基于所述校准数据集、所述小数位宽集、所述浮点数据总集和所述定点数据总集确定推理误差因子;基于所述推理时长确定所述智能芯片的推理总时长;基于所述推理误差因子和所述推理总时长确定所述最终小数位宽。4.如权利要求3所述的嵌入式智能芯片的神经网络量化方法,其特征在于,所述基于所述推理误差因子和所述推理总时长确定所述最终小数位宽包括:基于所述推理误差因子和所述推理总时长确定第一修正因子和第二修正因子;基于所述推理误差因子、所述推理总时长、所述第一修正因子和所述第二修正因子确定所述最终小数位宽。5.如权利要求3所述的嵌入式智能芯片的神经网络量化方法,其特征在于,所述基于所述校准数据集、所述小数位宽集、所述浮点数据总集和所述定点数据总集确定推理误差因子包括:基于所述校准数据集确定输入数据量,以及基于所述浮点数据总集和所述定点数据总集确定输出数据量;基于所述输入数据量、所述输出数据量、所述浮点数据总集、所述小数位宽集和所述定点数据总集确定所述...

【专利技术属性】
技术研发人员:宫珊珊张本西贾伟赵星阳
申请(专利权)人:潍坊潍柴动力科技有限责任公司
类型:发明
国别省市:

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

1