CN113469351A - 一种数据处理方法、装置及存储介质 - Google Patents

一种数据处理方法、装置及存储介质 Download PDF

Info

Publication number
CN113469351A
CN113469351A CN202010236673.2A CN202010236673A CN113469351A CN 113469351 A CN113469351 A CN 113469351A CN 202010236673 A CN202010236673 A CN 202010236673A CN 113469351 A CN113469351 A CN 113469351A
Authority
CN
China
Prior art keywords
neural network
network model
model
graph
operator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010236673.2A
Other languages
English (en)
Inventor
郭晖
张楠赓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sisheng Technology Co.,Ltd.
Original Assignee
Canaan Bright Sight Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canaan Bright Sight Co Ltd filed Critical Canaan Bright Sight Co Ltd
Priority to CN202010236673.2A priority Critical patent/CN113469351A/zh
Publication of CN113469351A publication Critical patent/CN113469351A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

一种数据处理方法、装置及存储介质
技术领域
本申请涉及神经网络技术领域,尤其涉及一种数据处理方法、装置及存储介质。
背景技术
随着机器学习技术的发展,越来越多种类的神经网络模型应运而生。不同种类的神经网络模型,指的是神经网络模型的框架不同,且在神经网络模型训练后所产生的模型文件也不尽相同的各神经网络模型。
目前,大部分框架都是面向中央处理器(CPU,central processing unit)、图形处理器(Graphics Processing Unit,GPU)计算而设计优化的,比如,TensorFlow等框架。虽然CPU、GPU具备相应的处理能力,但在使用神经网络模型进行训练过程中,诸如KPU等具备异构计算能力的硬件设备针对卷积类运算具有更针对性的处理。也就意味着,在使用神经网络模型进行训练的过程中,Kendryte K210芯片的人工智能(Artificial Intelligence,AI)加速引擎(KPU)的计算能力通常胜于CPU、GPU。
然而,KPU不具备CPU、GPU所具备的执行指令的能力,因此,目前亟需一种数据处理方法,对神经网络模型进行优化,以在使用神经网络模型进行训练的过程中发挥KPU的优势。
发明内容
本申请提供一种数据处理方法、装置及存储介质,以解决因硬件限制而影响数据处理效率的技术问题。
为解决上述问题,本申请提供的技术方案如下:
第一方面,本申请实施例提供一种数据处理方法。所述方法包括:获取第一神经网络模型;根据所述第一神经网络模型,确定第一中间计算图;对所述第一中间计算图进行处理,得到第二中间计算图;对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
在一种可能的实现方式中,所述方法应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
在一种可能的实现方式中,所述获取第一神经网络模型,可以实现为:获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间计算图,可以实现为:将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间计算图,可以实现为:从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
在一种可能的实现方式中,所述对所述第一中间计算图进行处理,得到第二中间计算图,可以实现为:对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
第二方面,本申请实施例提供一种数据处理装置。所述装置包括:
通信单元,用于获取第一神经网络模型。
处理单元,用于根据所述通信单元获取的所述第一神经网络模型,确定第一中间计算图。
所述处理单元,还用于对所述第一中间计算图进行处理,得到第二中间计算图。
所述处理单元,还用于对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
在一种可能的实现方式中,所述装置应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
在一种可能的实现方式中,所述通信单元,还用于获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
在一种可能的实现方式中,所述处理单元,还用于将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
在一种可能的实现方式中,所述处理单元,还用于从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
在一种可能的实现方式中,所述处理单元,还用于对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
第三方面,本申请实施例提供一种数据处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面及其各种可能的实现方式中任意一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面及其各种可能的实现方式中任意一项所述的方法。
由此可见,本申请实施例提供的数据处理方法,对于KPU无法支持的模型(即第一神经网络模型)而言,可以借助编译器等设备来实现模型转换,具体转换机制可以借助于对第一神经网络模型的中间计算图的处理、量化来实现。
也就意味着,采用本申请实施例提供的技术方案,对神经网络模型进行优化,能够在使用神经网络模型进行训练的过程中发挥KPU的优势,从而解决现有技术中因硬件限制而影响数据处理效率的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为根据本申请一实施例的数据处理方法的流程示意图;
图2为根据本申请另一实施例的数据处理方法的流程示意图;
图3为根据本申请实施例提供的一种目标设备的结构示意图;
图4为根据本申请实施例的模型转换方法的示意性交互图;
图5为根据本申请又一实施例的数据处理方法的流程示意图;
图6为本申请实施例提供一种数据处理装置的示意图;
图7为本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
为了更清楚的阐释本申请的整体构思,下面结合说明书附图以示例的方式进行详细说明。
本申请实施例提供一种数据处理方法,该方法可以应用于诸如编译器等能够实现模型转换的设备。以编译器为例,本申请实施例的目的在于通过编译器对模型进行处理,以实现模型转换,从而使不适用于KPU的模型可以转换为适用于KPU的模型。这样就能够有效利用KPU的计算能力,从而使在使用神经网络模型进行训练的过程中发挥KPU的优势。当然,也可以使后续使用训练好的模型进行图像识别、文本识别等数据处理过程中,充分发挥KPU的优势。由于相应的数据处理过程挪到KPU上实现,这样就可以有效节省CPU、GPU等用于上述数据处理过程的资源,也就可以使CPU、GPU等具备更充足的资源来支持诸如计算机等终端自身所需要实现的数据处理功能。
需要说明的是,本申请实施例的实现方式所提供的模型转换机制,同样可以适用于其他设备,即对于目标设备上无法支持运行的模型而言,都可以采用本申请实施例提供的技术方案来实现模型转换,从而使最终得到的模型可以在目标设备上运行。其中,目标设备可以包括但不限于承载了KPU的设备。
下文以目标设备为承载了KPU的设备为例,对本申请实施例提供的技术方案进一步说明。
本申请实施例提供一种数据处理方法,如图1所示,该方法包括S101至S104。
S101、获取第一神经网络模型。
在本申请实施例中,以该数据处理方法应用于编译器为例,那么第一神经网络模型指的是作为输入数据,输入编译器中的内容。即第一神经网络模型为目标设备不支持的模型类型。对于目标设备为KPU的情况而言,第一神经网络指的可以是面向CPU、GPU等的模型,即可以在承载CPU、GPU等的诸如计算机等设备上运行的模型。
在一种实现方式中,第一神经网络模型,可以为训练好的模型。这样在实现模型转换后,就可以将转换后得到的第二神经网络模型直接运行在KPU上。
S102、根据第一神经网络模型,确定第一中间计算图(Immediate ComputationGraph,ICG)。
中间计算图,指的是模型在编译器中的内部表示,具体可以用于记载诸如乘法、加法、卷积等各种算子。在本申请实施例中,第一中间计算图指的是第一神经网络模型对应的中间计算图,即用于记载第一神经网络所涉及的算子。
S103、对第一中间计算图进行处理,得到第二中间计算图。
S104、对第二中间计算图进行量化,以得到第一神经网络模型对应的第二神经网络模型。
为了实现模型转换,在本申请实施例中,可以通过对第一中间计算图进行处理,以得到与转换后模型对应的第二中间计算图。这样,就可以通过对第二中间计算图进行量化,来得到转换后的模型,即第二神经网络模型。
由此可见,对于KPU无法支持的模型(即第一神经网络模型)而言,可以借助编译器等设备来实现模型转换,具体转换机制可以借助于对第一神经网络模型的中间计算图的处理、量化来实现。
也就意味着,采用本申请实施例提供的技术方案,对神经网络模型进行优化,能够在使用神经网络模型进行训练的过程中发挥KPU的优势,从而解决现有技术中因硬件限制而影响数据处理效率的技术问题。
需要说明的是,在本申请实施例提供的技术方案应用于编译器的情况下,编译器输出的第二神经网络模型为目标设备的输入数据,且第二神经网络模型为目标设备支持的模型类型。
在本申请实施例的一种实现方式中,第一神经网络模型指的可以是TensorFlow、TFLite、Caffe、PaddlePaddle模型等,第二神经网络模型指的可以是KPU模型,即可以运行在KPU上的模型。
作为转换前的第一神经网络模型,可以为根据用户需求训练的模型,因此,在本申请实施例的一种实现方式中,在如图1所示的实现方式的基础上,可以实现为如图2所示的实现方式。其中,S101获取第一神经网络模型,可以实现为S1011。
S1011、获取基于初始模型框架训练好的第一神经网络模型。
其中,初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
如图3所示,为本申请实施例提供的一种目标设备的结构示意图。目标设备20上包括用于实现模型转换的通用组件21、用于实现第一神经网络模型设计的模型设计工具22,以及命令行转换工具23。其中,通用组件21、模型设计工具22以及命令行转换工具23可以两两之间进行数据交互,具体数据传输过程可以包括但不限于图3示例的数据传输走向。
用户可以根据自己的需求,将用于生成初始模型框架的输入数据,输入模型设计工具22。模型设计工具可以通过ICG视图模型221以及模型约束检查模块222来实现初始模型框架的搭建。其中,ICG视图模型221可以用于堆放算子;模型约束检查模块222可以用于判别算子或是模型框架是否能够得到当前硬件的支持。
在通过模型设计工具22实现初始模型框架的搭建之后,可以将初始模型框架通过命令行转换工具23来实现参数转换,之后对模型框架进行训练,以得到训练好的第一神经网络模型,并将第一神经网络模型通过通用组件21中各功能模块或是通过调用组件21所具备的各项功能,来得到第二神经网络模型。
其中,通用组件21可以包括模型导入模块211、中间计算图212(可以包括但不限于第一中间计算图,或是第一中间计算图和第二中间计算图)、Transform模型优化模块213、数据集处理模块214、模型量化模块215以及模型导出模块216。
下面参考如图4所示的模型转换方法的交互图,来对本申请实施例提供的技术方案进一步说明。其中,模型和转换方法可以包括S301至S312。
S301、数据集处理模块获取数据集。
S302、模型导入模块获取训练好的第一神经网络模型。
在本申请实施例中,用户可以将数据集以及训练好的第一神经网络模型输入到编译器中,以使编译器基于获取到的数据集和训练好的第一神经网络模型实现模型转换,从而得到第二神经网络模型。
其中,数据集可以包括模型量化所需的参数,还可以包括用于训练第一神经网络模型和/或用于训练第二神经网络模型的样本等。需要说明的是,在本申请实施例中,对于数据集的存储形式、数据集各项数据的格式、传输方式等不予限定,可以结合实际的模型转换需求或是编译器的规格等进行调整。
S303、模型导入模块根据第一神经网络模型,得到第一中间计算图。
S304、模型导入模块向模型导出模块发送第一中间计算图。
S305、模型导出模块向Transform模型优化模块发送第一中间计算图。
在本申请实施例中,模型导出模块可以将接收到的第一中间计算图,转发给Transform模型优化模块,以使Transform模型优化模块实现对第一中间计算图的优化。
S306、Transform模型优化模块对第一中间计算图进行优化,以得到第二中间计算图。
对于将第一中间计算图进行优化后得到第二中间计算图的实现过程,可以参考下文S1031至S1033中任意一项所示的表述,在此不予赘述。
S307、Transform模型优化模块向模型导出模块发送第二中间计算图。
S308、模型导出模块向数据集处理模块发送获取数据集的请求。
S309、数据集处理模块向模型导出模块发送数据集。
在本申请实施例中,在S309中,数据集处理模块可以向模型导出模块发送部分或是全部数据集。其中,对于数据集仅包括模型量化所需的参数的情况下,数据集处理模块响应于模型导出模块发送的获取数据集的请求,需要向模型导出模块发送模型量化所需的参数;而对于数据集包括模型量化所需的参数,以及诸如样本等其他数据的情况下,数据集处理模块响应于模型导出模块发送的获取数据集的请求,需要至少向模型导出模块发送模型量化所需的参数,并可选的向模型导出模块发送数据集所包括的其他部分或是全部数据。
S310、模型导出模块根据数据集、第二中间计算图,得到未经量化的神经网络模型。
需要说明的是,考虑到第一神经网络模型为已经训练好的模型,因此,得到未经量化的神经网络模型,可以仅基于第二中计算图得到。此外,考虑到模型导出模块所获取的数据集可能只包括模型量化所需的参数,因此,得到未经量化的神经网络模型,也可以仅基于第二中间计算图得到。也就意味着S310还可以实现为模型导出模块根据第二中间计算图,得到未经量化的神经网络模型。此时,S310在时序上可以在执行S309之前执行,或是在执行S309的同时执行,当然同样可以在执行S309之后执行。
由此可见,图4所示的模型转换方法仅为一种实例性的模型转换方式,并不作为对本申请实施例的过多限定。
S311、模型导出模块调用模型量化模块的量化功能,以对未经量化的神经网络模型进行量化,并得到第二神经网络模型。
S312、模型导出模块输出第二神经网络模型。
需要说明的是,上述S301、S302可以由用户实现数据的输入,比如,用户可以借助诸如计算机等设备,将数据集、训练好的第一神经网络模型等内容输入编译器。类似的,S312可以由编译器的模型导出模块,借助诸如计算设备等设备的显示器等具备输出功能的部件,来实现第二神经网络模型的输出。当然,也可以将得到的第二神经网络模型存储至计算机、服务器等具备存储资源的设备或是云端,以在诸如承载了KPU等目标设备需要第二神经网络模型的情况下,进行调用。
为了使诸如KPU等设备能够支持更多的算子,在本申请实施例的一种实现方式中,在如图1或2所示的实现方式的基础上,以图1为例,还可以实现为如图5所示的实现方式。其中,S103对第一中间计算图进行处理,得到第二中间计算图,可以实现为S1031至S1033中的一项或是多项的组合。
S1031、将第一中间计算图中的第一算子转换为第二算子。
其中,第一算子对应数据处理过程的处理复杂度,大于第二算子对应数据处理过程的处理复杂度。
通过将第一算子转换为第二算子的方式,可以使KPU支持更多类型的算子,即通过转换算子的方式,可以将KPU不支持的算子转换为KPU可支持的算子,这样就能够使KPU承载更多的算子对应的运算过程,即扩展KPU可支持的算子。需要说明的是,通常情况下,转换后的第二算子的复杂度往往小于第一算子的复杂度。
S1032、从第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理目标算子对应的数据处理过程。
为了节省神经网络模型在处理数据过程中所占用的资源及时间等,在生成第二中间计算图的过程中,即在对第一中间计算图进行优化的过程中,可以执行简单的算子,即目标算子,所对应的数据处理过程。这样在调用优化后算子的计算过程中,可以减少计算量及计算过程所占用的资源。
其中,阈值可以预先设置,具体可以根据算子对应的数据处理过程所占用的资源、时间等参数中的一项或是多项来确定,还可以根据其他对数据处理过程有影响的因素来确定。在本申请实施例中,对于阈值的取值、设置方式、表现形式等,不予限定。
S1033、对第一中间计算图中的卷积运算进行拆分。
其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
考虑到诸如KPU等在进行卷积运算的过程中,往往更适用于实现较低维度的卷积运算,因此,在本申请实施例的一种实现方式中,可以将卷积运算的维度进行调整。即将第一中间计算图中的卷积运算进行拆分,以得到是英语KPU处理的卷积运算维度。比如,将5*5的矩阵进行切割,以得到3*3或是4*4的矩阵,从而实现参与卷积运算的矩阵维度的调整。
由此可见,在优化第一中间计算图的过程中,即得到第二中间计算图的过程中,具体可以通过简化运算、提前处理难度简单的运算过程等实现方式,来对第一神经网络模型对应的第一中间计算图进行处理,从而得到KPU可支持的第二神经网络模型对应的第二中间计算图。
需要说明的是,上述S1031至S1033仅为本申请实施例所例举的可能的优化第一中间计算图的实现方式,但在实际生成第二中间计算图的过程中,还可以采用其他具有相同效果、或是能够达到类似实现结果的处理方式。在本申请实施例中,对于优化第一中间计算图的具体实现方式,不予限定。
在本申请实施例中,考虑到卷积运算的特殊性,通常是将前一层卷积的处理结果作为后一层卷积运算的输入。但在实际操作过程中,KPU的本地缓存(buffer)可容纳的矩阵维度有限,对于维度较高的计算图,KPU需要将前一层卷积的处理结果存储至DDR,而后从DDR中获取前一层卷积的处理结果,再实现下一层的卷积运算。这样在每次卷积运算过程中,都需要实现KPU与DDR之间的数据交互,从而实现卷积结果的读取及存储过程。这样无疑增加了卷积运算过程中的数据传输资源,增加了卷积运算所占用的总时长。
为了解决上述技术问题,在本申请实施例的一种实现方式中,KPU可以在执行卷积运算过程中,对计算图进行拆分。即将维度较高的计算图拆分为维度较低的计算图,从而在卷积运算过程中,将每层输出的处理结果缓存至buffer中,再从buffer读取前一层的卷积运算处理结果,作为下一层卷积运算的输入。这样就省去了KPU与DDR之间的频繁交互,也就减少了卷积运算过程中所耗费的数据传输资源及时间,有效提升了吞吐量。
综上,在本申请实施例的一种实现方式中,可以对各类KPU不支持的模型进行编译,从而将这些KPU不支持的模型部署到K210上。
本申请实施例提供一种数据处理装置。如图6所示,数据处理装置40可以包括:
通信单元41,用于获取第一神经网络模型。
处理单元42,用于根据通信单元41获取的第一神经网络模型,确定第一中间计算图。
处理单元42,还用于对第一中间计算图进行处理,得到第二中间计算图。
处理单元42,还用于对第二中间计算图进行量化,以得到第一神经网络模型对应的第二神经网络模型。
在一种实现方式中,数据处理装置40应用于一种编译器,编译器输出的第二神经网络模型为目标设备的输入数据,第一神经网络模型为目标设备不支持的模型类型,第二神经网络模型为目标设备支持的模型类型。
在一种实现方式中,通信单元41,还用于获取基于初始模型框架训练好的第一神经网络模型,初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
在一种实现方式中,处理单元42,还用于将第一中间计算图中的第一算子转换为第二算子,其中,第一算子对应数据处理过程的处理复杂度,大于第二算子对应数据处理过程的处理复杂度。
在一种实现方式中,处理单元42,还用于从第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理目标算子对应的数据处理过程。
在一种实现方式中,处理单元42,还用于对第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
在一种实现方式中,数据处理装置40还可以包括存储单元43和显示单元44中的至少一项。其中,存储单元43,可以用于存储上述多个单元在实现相应功能时所需的内容等;显示单元44,可以用于显示数据处理的进度等内容。在本申请实施例中,对于存储模块存储的内容、格式等,不予限定。
需要说明的是,通信单元41,还可以用于实现上述多个单元之间的数据交互,和/或支持基于数据处理装置与诸如服务器、其他处理设备等设备之间的数据交互。
在本申请实施例中,通信单元41可以实现为通信接口,处理单元42可以实现为处理器和/或控制器,存储单元43可以实现为存储器,显示单元44可以实现为显示器。
如图7所示,为本申请实施例提供的另一种数据处理装置的结构示意图。数据处理装置50可以包括通信接口51、处理器52。在一种实现方式中,数据处理装置50还可以包括存储器53和显示器54中的一项或是多项。其中,通信接口51、处理器52、存储器53和显示器54,可以通过总线55实现通信。其中,上述各部件所实现的功能,可以参考前文对于各模块功能的描述,在此不予赘述。
需要说明的是,参考图6、图7,本申请实施例提供的数据处理装置可以包括多于或是少于图中示出的模块、部件,在此不予限定。
本申请提供一种数据处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各种可能的实现方式中任意一项的方法。
本申请提供一种计算机可读存储介质。存储介质存储有计算机程序,计算机程序被处理器执行时实现上述各种可能的实现方式中任意一项的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于实体实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种数据处理方法,其特征在于,所述方法包括:
获取第一神经网络模型;
根据所述第一神经网络模型,确定第一中间计算图;
对所述第一中间计算图进行处理,得到第二中间计算图;
对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
3.根据权利要求1或2所述的方法,其特征在于,所述获取第一神经网络模型,包括:
获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
4.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:
将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
5.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:
从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
6.根据权利要求1或2所述的方法,其特征在于,所述对所述第一中间计算图进行处理,得到第二中间计算图,包括:
对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
7.一种数据处理装置,其特征在于,所述装置包括:
通信单元,用于获取第一神经网络模型;
处理单元,用于根据所述通信单元获取的所述第一神经网络模型,确定第一中间计算图;
所述处理单元,还用于对所述第一中间计算图进行处理,得到第二中间计算图;
所述处理单元,还用于对所述第二中间计算图进行量化,以得到所述第一神经网络模型对应的第二神经网络模型。
8.根据权利要求7所述的装置,其特征在于,所述装置应用于一种编译器,所述编译器输出的所述第二神经网络模型为目标设备的输入数据,所述第一神经网络模型为所述目标设备不支持的模型类型,所述第二神经网络模型为所述目标设备支持的模型类型。
9.根据权利要求7或8所述的装置,其特征在于,所述通信单元,还用于获取基于初始模型框架训练好的所述第一神经网络模型,所述初始模型框架为基于输入数据,通过模型设计工具得到的模型框架。
10.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于将所述第一中间计算图中的第一算子转换为第二算子,其中,所述第一算子对应数据处理过程的处理复杂度,大于所述第二算子对应数据处理过程的处理复杂度。
11.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于从所述第一中间计算图中的多个算子中,确定处理复杂度小于阈值的目标算子,并处理所述目标算子对应的数据处理过程。
12.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于对所述第一中间计算图中的卷积运算进行拆分,其中,拆分前卷积运算的维度大于拆分后卷积运算的维度。
13.一种数据处理装置,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现权利要求1至6中任意一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任意一项所述的方法。
CN202010236673.2A 2020-03-30 2020-03-30 一种数据处理方法、装置及存储介质 Pending CN113469351A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010236673.2A CN113469351A (zh) 2020-03-30 2020-03-30 一种数据处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010236673.2A CN113469351A (zh) 2020-03-30 2020-03-30 一种数据处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN113469351A true CN113469351A (zh) 2021-10-01

Family

ID=77864916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010236673.2A Pending CN113469351A (zh) 2020-03-30 2020-03-30 一种数据处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN113469351A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103840695A (zh) * 2014-02-27 2014-06-04 河海大学 一种光伏并网逆变器控制参数的辨识方法
CN110378413A (zh) * 2019-07-17 2019-10-25 Oppo广东移动通信有限公司 神经网络模型处理方法、装置以及电子设备
US20190385059A1 (en) * 2018-05-23 2019-12-19 Tusimple, Inc. Method and Apparatus for Training Neural Network and Computer Server
CN110659728A (zh) * 2019-09-24 2020-01-07 上海寒武纪信息科技有限公司 神经网络优化方法、装置、计算机设备及存储介质
CN110674936A (zh) * 2019-09-24 2020-01-10 上海寒武纪信息科技有限公司 一种神经网络处理方法、装置、计算机设备及存储介质
CN110689115A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 神经网络模型处理方法、装置、计算机设备及存储介质
WO2020048377A1 (zh) * 2018-09-05 2020-03-12 腾讯科技(深圳)有限公司 神经网络训练方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103840695A (zh) * 2014-02-27 2014-06-04 河海大学 一种光伏并网逆变器控制参数的辨识方法
US20190385059A1 (en) * 2018-05-23 2019-12-19 Tusimple, Inc. Method and Apparatus for Training Neural Network and Computer Server
WO2020048377A1 (zh) * 2018-09-05 2020-03-12 腾讯科技(深圳)有限公司 神经网络训练方法、装置、计算机设备和存储介质
CN110378413A (zh) * 2019-07-17 2019-10-25 Oppo广东移动通信有限公司 神经网络模型处理方法、装置以及电子设备
CN110659728A (zh) * 2019-09-24 2020-01-07 上海寒武纪信息科技有限公司 神经网络优化方法、装置、计算机设备及存储介质
CN110674936A (zh) * 2019-09-24 2020-01-10 上海寒武纪信息科技有限公司 一种神经网络处理方法、装置、计算机设备及存储介质
CN110689115A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 神经网络模型处理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙雁飞 等: "一种时滞网络自适应主动队列管理算法研究", 《电子与信息学报》, vol. 28, no. 10, pages 1940 - 1945 *

Similar Documents

Publication Publication Date Title
CN111753948B (zh) 模型处理方法及相关设备
WO2022042113A1 (zh) 数据处理方法、装置、电子设备及存储介质
EP3731161A1 (en) Model application method and system, and model management method and server
CN113065639B (zh) 算子融合方法、系统、设备及存储介质
CN111651207B (zh) 一种神经网络模型运算芯片、方法、装置、设备及介质
JP6972436B1 (ja) 人工知能の実行加速のための人工知能実行モデル設定方法と人工知能実行加速システム
CN110795235A (zh) 一种移动web深度学习协作的方法及系统
CN116755844B (zh) 一种仿真引擎的数据处理方法、装置、设备及存储介质
CN112416533A (zh) 在浏览器上运行应用程序的方法、装置及电子设备
CN113469351A (zh) 一种数据处理方法、装置及存储介质
CN111698210A (zh) 一种云手机手柄数据处理方法、系统和存储介质
CN112132271A (zh) 神经网络加速器运行方法、架构及相关装置
CN110012003B (zh) 一种云应用抓屏方法和装置
CN115130672B (zh) 一种软硬件协同优化卷积神经网络计算的方法及装置
CN115470901A (zh) 支持移动端异构处理器分载的混合精度训练方法及设备
KR20200139909A (ko) 전자 장치 및 그의 연산 수행 방법
CN112631577A (zh) 一种模型的调度方法、模型调度器以及模型安全测试平台
CN113742104A (zh) 基于ai的rpa分身功能的生成方法及装置
CN111507758A (zh) 一种基于语义分析的调研方法、装置、系统及服务器
CN110908619A (zh) 处理订单的方法和装置
CN112311943A (zh) 一种数据扫描优化方法、装置、系统及相关组件
CN117744630B (zh) 模型接入方法、装置及电子设备
CN116341633B (zh) 一种模型部署方法、装置、设备及存储介质
CN116757254B (zh) 任务处理方法、电子设备及存储介质
CN109408142A (zh) 基于jsbundle实现H5页面高性能安全加载的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40061871

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20240430

Address after: Room 101, 20th Floor, Building 1, Zone 1, No. 81 Beiqing Road, Haidian District, Beijing, 100094

Applicant after: Beijing Sisheng Technology Co.,Ltd.

Country or region after: China

Address before: Room 206, 2 / F, building C, phase I, Zhongguancun Software Park, No. 8, Dongbei Wangxi Road, Haidian District, Beijing 100094

Applicant before: Canaan Bright Sight Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right