一种数据处理方法、装置及存储介质制造方法及图纸

技术编号:30236852 阅读:19 留言:0更新日期:2021-10-09 20:09
本申请公开了一种数据处理方法、装置及存储介质,涉及神经网络技术领域,能够解决因硬件限制而影响数据处理效率的技术问题。该方法包括:获取第一神经网络模型;根据所述第一神经网络模型,确定第一中间计算图;对所述第一中间计算图进行处理,得到第二中间计算图;对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。本申请提供的技术方案适用于模型转换过程。提供的技术方案适用于模型转换过程。提供的技术方案适用于模型转换过程。

【技术实现步骤摘要】
一种数据处理方法、装置及存储介质


[0001]本申请涉及神经网络
,尤其涉及一种数据处理方法、装置及存储介质。

技术介绍

[0002]随着机器学习技术的发展,越来越多种类的神经网络模型应运而生。不同种类的神经网络模型,指的是神经网络模型的框架不同,且在神经网络模型训练后所产生的模型文件也不尽相同的各神经网络模型。
[0003]目前,大部分框架都是面向中央处理器(CPU,central processing unit)、图形处理器(Graphics Processing Unit,GPU)计算而设计优化的,比如,TensorFlow等框架。虽然CPU、GPU具备相应的处理能力,但在使用神经网络模型进行训练过程中,诸如KPU等具备异构计算能力的硬件设备针对卷积类运算具有更针对性的处理。也就意味着,在使用神经网络模型进行训练的过程中,Kendryte K210芯片的人工智能(Artificial Intelligence,AI)加速引擎(KPU)的计算能力通常胜于CPU、GPU。
[0004]然而,KPU不具备CPU、GPU所具备的执行指令的能力,因此,目前亟需一种数据处理方法,对神经网络模型进行优化,以在使用神经网络模型进行训练的过程中发挥KPU的优势。

技术实现思路

[0005]本申请提供一种数据处理方法、装置及存储介质,以解决因硬件限制而影响数据处理效率的技术问题。
[0006]为解决上述问题,本申请提供的技术方案如下:
[0007]第一方面,本申请实施例提供一种数据处理方法。所述方法包括:获取第一神经网络模型;根据所述第一神经网络模型,确定第一中间计算图;对所述第一中间计算图进行处理,得到第二中间计算图;对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
[0008]在一种可能的实现方式中,所述方法应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
[0009]在一种可能的实现方式中,所述获取第一神经网络模型,可以实现为:获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
[0010]在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间计算图,可以实现为:将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
[0011]在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间
计算图,可以实现为:从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
[0012]在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间计算图,可以实现为:对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
[0013]第二方面,本申请实施例提供一种数据处理装置。所述装置包括:
[0014]通信单元,用于获取第一神经网络模型。
[0015]处理单元,用于根据所述通信单元获取的所述第一神经网络模型,确定第一中间计算图。
[0016]所述处理单元,还用于对所述第一中间计算图进行处理,得到第二中间计算图。
[0017]所述处理单元,还用于对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
[0018]在一种可能的实现方式中,所述装置应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
[0019]在一种可能的实现方式中,所述通信单元,还用于获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
[0020]在一种可能的实现方式中,所述处理单元,还用于将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
[0021]在一种可能的实现方式中,所述处理单元,还用于从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
[0022]在一种可能的实现方式中,所述处理单元,还用于对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
[0023]第三方面,本申请实施例提供一种数据处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面及其各种可能的实现方式中任意一项所述的方法。
[0024]第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面及其各种可能的实现方式中任意一项所述的方法。
[0025]由此可见,本申请实施例提供的数据处理方法,对于KPU无法支持的模型(即第一神经网络模型)而言,可以借助编译器等设备来实现模型转换,具体转换机制可以借助于对第一神经网络模型的中间计算图的处理、量化来实现。
[0026]也就意味着,采用本申请实施例提供的技术方案,对神经网络模型进行优化,能够在使用神经网络模型进行训练的过程中发挥KPU的优势,从而解决现有技术中因硬件限制而影响数据处理效率的技术问题。
附图说明
[0027]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0028]图1为根据本申请一实施例的数据处理方法的流程示意图;
[0029]图2为根据本申请另一实施例的数据处理方法的流程示意图;
[0030]图3为根据本申请实施例提供的一种目标设备的结构示意图;
[0031]图4为根据本申请实施例的模型转换方法的示意性交互图;
[0032]图5为根据本申请又一实施例的数据处理方法的流程示意图;
[0033]图6为本申请实施例提供一种数据处理装置的示意图;
[0034]图7为本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
[0035]为了更清楚的阐释本申请的整体构思,下面结合说明书附图以示例的方式进行详细说明。
[0036]本申请实施例提供一种数据处理方法,该方法可以应用于诸如编译器等能够实现模型转换的设备。以编译器为例,本申请实施例的目的在于通过编译器对模型进行处理,以实现模型转换,从而使不适用于KP本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取第一神经网络模型;根据所述第一神经网络模型,确定第一中间计算图;对所述第一中间计算图进行处理,得到第二中间计算图;对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。2.根据权利要求1所述的方法,其特征在于,所述方法应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。3.根据权利要求1或2所述的方法,其特征在于,所述获取第一神经网络模型,包括:获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。4.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。5.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。6.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。7.一种数据处理装置,其特征在于,所述装置包括:通信单元,用于获取第一神经网络模型;处理单元,用于根据所述通信单元获取的所述第一神经网络模型,确定...

【专利技术属性】
技术研发人员:郭晖张楠赓
申请(专利权)人:嘉楠明芯北京科技有限公司
类型:发明
国别省市:

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

1