CN116049691A - 模型转换方法、装置、电子设备和存储介质 - Google Patents

模型转换方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116049691A
CN116049691A CN202310043521.4A CN202310043521A CN116049691A CN 116049691 A CN116049691 A CN 116049691A CN 202310043521 A CN202310043521 A CN 202310043521A CN 116049691 A CN116049691 A CN 116049691A
Authority
CN
China
Prior art keywords
node
graph structure
model
sub
directed graph
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
CN202310043521.4A
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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN202310043521.4A priority Critical patent/CN116049691A/zh
Publication of CN116049691A publication Critical patent/CN116049691A/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种模型转换方法、装置、电子设备和存储介质,属于人工智能技术领域。模型转换方法,包括:构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;基于图节点对应的第一算子,确定第一有向图结构中每个图节点对应的子图结构;更新第一有向图结构中的子图结构,得到第二有向图结构;根据第二有向图结构,生成第二模型。

Description

模型转换方法、装置、电子设备和存储介质
技术领域
本申请属于人工智能技术领域,具体涉及一种模型转换方法、装置、电子设备和存储介质。
背景技术
深度神经网络算法模型一般是在云端通过大量的数据在不同的深度学习框架训练得到的算法模型,如果在端侧使用这个模型实现某些功能,需要转为适合端侧的模型结构,因此需要将云端的模型进行转换。
相关技术中,通常通过一对一的方式对云端训练得到的模型进行转换,转换后的模型中存在较多冗余复杂的算子结构,导致端侧运行时造成性能浪费。
发明内容
本申请实施例的目的是提供一种模型转换方法、装置、电子设备和存储介质,实现了能够将云端训练框架神经网络算法模型转换为适用于端侧的模型结构,使转换后的模型中的算子结构更精简。
第一方面,本申请实施例提供了一种模型转换方法,包括:构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;基于图节点对应的第一算子,确定第一有向图结构中每个图节点对应的子图结构;更新第一有向图结构中的子图结构,得到第二有向图结构;根据第二有向图结构,生成第二模型。
第二方面,本申请实施例提供了一种模型转换装置,包括:构建模块,用于构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;确定模块,用于基于图节点对应的第一算子,确定第一有向图结构中每个图节点对应的子图结构;处理模块,用于更新第一有向图结构中的子图结构,得到第二有向图结构;生成模块,用于根据第二有向图结构,生成第二模型。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的模型转换方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,该可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现如第一方面的模型转换方法的步骤。
第五方面,本申请实施例提供了一种芯片,该芯片包括处理器和通信接口,该通信接口和该处理器耦合,该处理器用于运行程序或指令,实现如第一方面的模型转换方法的步骤。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面的模型转换方法的步骤。
本申请实施例中,通过将第一模型转换为第一有向图结构,能够得到第一模型中每个算子在第一有向图中对应的图节点。通过第一有向图结构中的图节点所对应的第一算子,查获到第一有向图结构中复杂的子图结构。通过将第一有向图中复杂的子图结构经过简化转换处理,得到第二有向图结构,从而简化了第二有向图结构的计算过程,并且保证第一有向图结构和第二有向图结构对应的模型的推理结果相同,实现了能够将云端训练框架神经网络算法模型转换为适用于端侧的模型结构,使转换后的模型中的算子结构更精简,保证转换后的模型能更好的适应端侧硬件,极大提升模型在端侧的推理性能。
附图说明
图1示出了根据本申请的一些实施例的模型转换方法的流程图;
图2示出了本申请的一些实施例提供的第一有向图之一;
图3示出了本申请的一些实施例提供的第二有向图之一;
图4示出了本申请的一些实施例中子图结构的数据处理示意图;
图5示出了本申请的一些实施例提供的第一有向图之二;
图6示出了本申请的一些实施例提供的第二有向图之二;
图7示出了本申请的一些实施例提供的深度广度卷积节点的数据处理示意图;
图8示出了根据本申请的一些实施例的模型转换装置的结构框图;
图9示出了根据本申请的一些实施例的电子设备的结构框图;
图10实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图1至附图10,通过具体的实施例及其应用场景对本申请实施例提供的模型转换方法、装置、电子设备和存储介质进行详细地说明。
在本申请的一些实施例中,提供了一种模型转换方法,图1示出了根据本申请的一些实施例的模型转换方法的流程图,如图1所示,模型转换方法包括:
步骤102,构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;
本申请实施例中,第一模型为通过云端训练得到的模型。示例性地,云端训练框架包括pytorch框架、tensorflow框架、caffe框架,即第一模型可以为基于不同训练框架训练得到的模型。
本申请实施例中,不同训练框架训练得到的第一模型的模型格式、模型中的算子属性不同,故需要将第一模型进行解析,得到该第一模型的算子信息,以及各个算子信息之间的顺序关系,从而确定第一有向图结构。第一有向图结构为对第一模型进行解析得到的有向图结构,算子之间的关系为第一有向图的边,算子之间的顺序作为第一有向图的方向。
步骤104,基于图节点对应的第一算子,确定第一有向图结构中每个图节点对应的子图结构;
本申请实施例中,第一有向图中的每个图节点均对应第一模型中的一个算子,能够基于图节点对应的第一算子,对第一有向图中每个图节点进行广度和深度的遍历,能够得到每个图节点在第一有向图中所构成的子图结构,每个子图结构均对应一个完整的计算过程。
步骤106,更新第一有向图结构中的子图结构,得到第二有向图结构;
本申请实施例中,将第一模型对应的第一有向图结构拆分为多个子图结构,并对单独的子图结构进行转换处理,得到第二有向图结构,即对第一有向图结构中的子图结构替换为转换处理后的子图结构,得到第二有向图结构。第二有向结构图为经过转换后的模型对应的有向图结构,通过第二有向图结构能够得到转换后的第二模型。
步骤108,根据第二有向图结构,生成第二模型。
本申请实施例中,对云端训练得到的第一模型转换为第一有向图结构,并将第一有向图结构基于图节点拆分为多个子图结构,并基于包括多个算子的子图结构进行转换处理,从而使转换后的第二有向图结构中的子图结构的算子较为精简,端侧使用第二有向图结构对应的第二模型时,能够提高模型的性能,还保证了第二模型的准确性。
具体来说,在对子图结构进行转换处理的过程中,由于子图结构通常对应一个完整的计算过程,且子图结构中包括多个图解节点,每个图节点均对应一个算子,将子图结构作为模型转换过程中的最小转换单元,能够在转换过程中对子图结构中的算子进行融合和替换,减少子图结构中算子的数量,使转换后得到的第二模型的计算量较少。
本申请实施例中,通过将第一模型转换为第一有向图结构,能够得到第一模型中每个算子在第一有向图中对应的图节点。通过第一有向图结构中的图节点所对应的第一算子,查获到第一有向图结构中复杂的子图结构。通过将第一有向图中复杂的子图结构经过简化转换处理,得到第二有向图结构,从而简化了第二有向图结构的计算过程,并且保证第一有向图结构和第二有向图结构对应的模型的推理结果相同,实现了能够将云端训练框架神经网络算法模型转换为适用于端侧的模型结构,使转换后的模型中的算子结构更精简,保证转换后的模型能更好的适应端侧硬件,极大提升模型在端侧的推理性能。
在本申请的一些实施例中,将第一有向图结构中的子图结构进行转换处理,得到第二有向图结构,包括:在子图结构包括第一节点组的情况下,确定第一节点组对应的第一节点;将第一有向图结构中的第一节点组替换为第一节点,得到第二有向图结构。
本申请实施例中,第一节点组为子图结构中能够通过单独的计算节点替换的多个计算节点。第一节点为与第一节点组等效的单独一个计算节点。
本申请实施例中,识别子图结构中是否包括第一节点组,在检测到子图结构中包括第一节点组的情况下,则确定用于替换第一节点组的第一节点,并将第一有向图结构中的第一节点组替换为第一节点,得到转换后的第二有向图结构。具体来说,根据云端训练的第一模型对应的第一有向图,将第一有向图中包括第一节点组的子图结构转换为统一的第一节点,使第二有向图结构对应的第二模型更加适用于端侧运行。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够通过第一节点替换的第一节点组进行检测,在检测到包括第一节点组的子图结构之后,则将子图结构中的第一节点组替换为第一节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
在本申请的一些实施例中,第一节点组包括相邻的重塑节点和转置节点,第一节点包括通道随机播放节点。
本申请实施例中,重塑节点为Reshape节点,转置节点为Transpose节点,通道随机播放节点为ChannelShuffle节点。在检测到子图结构中包括相邻的重塑节点和转置节点的情况下,则判定该子图结构的对数据的操作为对相同的数据进行复制,做一次通道打乱变换,其等价于生成通道随机播放节点,故将包括相邻的重塑节点和转置节点替换为包括通道随机播放节点的第一节点。
图2示出了本申请的一些实施例提供的第一有向图之一,图3示出了本申请的一些实施例提供的第二有向图之一,如图2和图3所示,在子图结构中包括相邻的Reshape节点和Transpose节点。具体来说,对第一个Reshape节点开始遍历,根据有向图方向,搜索到下一个Transpose节点,再根据Transpose节点搜索到下一个图节点Reshape,此时确定该子图结构中包括第一节点组,且该第一节点组对应的第一节点为ChannelShuffle节点。将第一有向图中的子图结构1中的Reshape节点、Transpose节点、Reshape节点替换为ChannelShuffle节点。
图4示出了本申请的一些实施例中子图结构的数据处理示意图,如图4所示,输入数据为3个红像素、3个绿像素和3个蓝像素经过Reshape节点、Transpose节点、Reshape节点处理后,输出的像素的排列方式为红、绿、蓝、红、绿、蓝、红、绿、蓝。输入数据为3个红像素、3个绿像素和3个蓝像素经过ChannelShuffle节点后,输出的数据也为红、绿、蓝、红、绿、蓝、红、绿、蓝。因此,Reshape节点、Transpose节点、Reshape节点与ChannelShuffle节点等价。
具体来说,该结构将3通道RGB输入数据先做一个Reshape操作,将output data(输入数据)的原始数据9×1的数据矩阵做一个维度变化至3×3的数据矩阵,再将3×3的数据矩阵做一个Transpose转置,之后再对转置后的3×3的数据矩阵执行Reshape操作,使输出的数据矩阵为原始的维度大小,即9×1的output data(输出数据)。整个过程本质是对input data的数据做一次打乱重排,而这种经过3次算子的数据重排,可以通过ChannelShuffle节点进行一次操作完成对数据的重排,有效避免子图节点算子直接的数据传递过程,减少数据在算子之间的拷贝。
本申请实施例中,通过将第一有向图的子图结构中相邻的重塑节点和转置节点统一替换为通道随机播放节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,将第一模型中具有繁琐拷贝速度操作的子图结构转换为统一适合端侧的子图结构。
在本申请的一些实施例中,第一节点组包括至少两个采集节点,第一节点包括读取节点。
本申请实施例中,采集节点为Gather节点,读取节点为Split节点。在检测到子图结构中包括两个Gather节点的情况下,由于两个Gather节点等价为经过单个Split节点,故将包括两个Gather节点的第一节点组替换为包括单个Split节点的第一节点。
如图2和图3所示,对第一有向图进行遍历,即从Reshape节点开始,根据第一有向图的方向确定是Gather+Gather操作,则将子图结构中的Reshape节点、Transpose节点、Reshape节点和两个Gather节点,替换为ChannelShuffle节点和Split节点。
本申请实施例中,通过将第一有向图的子图结构中的至少两个采集节点统一替换为单独一个读取节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。
在本申请的一些实施例中,第一节点组包括全球平均池节点、解压节点、连接节点,第一节点包括取平均值节点。
本申请实施例中,全球平均池节点为GlobalAveragePool节点,解压节点为Unsqueeze节点,连接节点为Concat节点,取平均值节点为Mean节点。在检测到子图结构中的第一节点组包括全球平均池节点、解压节点、连接节点的情况下,则确定该子图结构中第一节点组所等价的第一节点,即第一节点包括取平均值节点,故将包括全球平均池节点、解压节点、连接节点的第一节点组替换为包括取平均值节点的第一节点。
图5示出了本申请的一些实施例提供的第一有向图之二,图6示出了本申请的一些实施例提供的第二有向图之二,如图5和图6所示,第一有向图中的子图结构中,对第一个GlobalAveragePool节点开始遍历,根据第一有向图的方向,搜索到下一个节点为Shape节点,再根据Shape节点分别搜索到其他算法图节点包括Gather节点、Unsqueeze节点、Concat节点、Reshape节点,即第一节点组包括GlobalAveragePool节点、Gather节点、Unsqueeze节点、Concat节点、Reshape节点。根据不同算子类型所需数据拷贝及计算的方式,确定上述子图结构中的第一节点组分别进行了均值计算以及数据拷贝,则将上述第一节点组替换为Mean节点。
本申请实施例中,通过将第一有向图的子图结构中全球平均池节点、解压节点、连接节点统一替换为取平均值节点,使转换后得到的第二模型在执行上述子图结构时,减少了多次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,制定可替换的子图结构,对第一模型中不适合端侧运行的子图结构进行替换,转换为更适合端侧推理的子图结构。
在本申请的一些实施例中,将第一有向图结构中的子图结构进行转换处理,得到第二有向图结构,包括:在子图结构包括第二节点组的情况下,将第二节点组中的节点进行融合处理,得到第二节点,其中,第二节点组包括至少两个计算节点;将第一有向图结构中的第二节点组替换为第二节点,得到第二有向图结构。
本申请实施例中,第二节点组中包括多个可融合的计算节点,第二节点为第二节点组中多个计算节点融合得到的计算节点。
本申请实施例中,识别子图结构中是否包括第二节点组,在检测到子图结构中包括第二节点组的情况下,则将第二节点组中的至少两个计算节点进行融合处理,得到第二节点。再将第一有向图结构中的第二节点组替换为融合处理得到的第二节点,得到转换后的第二有向图结构。
具体来说,根据云端训练的第一模型对应的第一有向图,将第一有向图中包括第二节点组中的计算节点进行融合处理,得到用于替换第二节点组的第二节点,并将第二节点替换第一有向图中的第二节点组,使转换得到的第二模型处理过程中的计算步骤减少,从而提高了第二模型在端侧运行的效率和所需的计算量。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够对计算节点进行融合处理的第二节点组进行检测,在检测到包括第二节点组的子图结构之后,则将子图结构中的第二节点组替换为融合处理后得到第二节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
在本申请的一些实施例中,第二节点组包括第一卷积节点和批量处理节点;
在子图结构包括第二节点组的情况下,将第二节点组中的节点进行融合处理,得到第二节点,包括:将第一卷积节点与批量处理节点进行计算融合,得到第二卷积节点;将第二卷积节点,确定为第二节点。
本申请实施例中,卷积节点为Conv节点,批量处理节点为BatchNorm节点。在检测到子图结构中的第二节点组包括第一卷积节点和批量处理节点的情况下,则对第一卷积节点和批量处理节点进行融合处理,得到第二卷积节点,并将包括第一卷积节点和批量处理节点的第二节点组统一替换为第二卷积节点。
如图5和图6所示,对第一有向图中的第一个节点进行搜索,确定第一节点为Conv节点,对Conv节点进行相关搜索,搜索到下一个节点是BatchNorm节点。
示例性地,Conv节点的计算式为conv.weight=w,conv.bias=b,当输入特征张量为x1时,可简写为公式(1),具体如下:
x1=w×x+b;(1)
BatchNorm节点的计算式为bn.weight=γ,bn.bias=β,bn.running_var=σ2,bn.eps=∈,bn.runnig_mean=μ,当输入特征张量为x1时,可简写为公式(2),具体如下:
Figure BDA0004051456850000101
对Conv节点和BatchNorm节点进行融合处理,将公式(1)带到公式(2)中,可得到公式(3),具体如下:
Figure BDA0004051456850000102
Figure BDA0004051456850000103
则得到公式(4),具体如下::
Figure BDA0004051456850000104
通过上述公式可确定将数据输入至Conv节点和BatchNorm节点进行计算,至少需要经过公式(1)和公式(2)对输入的数据进行计算。如果将Conv节点和BatchNorm节点进行融合处理后,则仅需要通过公式(3)对输入的数据进行计算,即公式(3)的计算与公式(1)和公式(2)的计算等价,使两步计算过程减少到第一步计算完成。
需要说明的是,在融合处理时,需要对权重进行融合计算,形成新的Conv节点的权重值
Figure BDA0004051456850000105
和偏置值
Figure BDA0004051456850000106
将Conv节点和BatchNorm节点融合处理后得到新的Conv节点,将第一卷积节点与批量处理节点融合得到第二卷积节点,即输入数据经过第一卷积节点和批量处理节点计算得到的结果与输入数据经过权重与偏置融合后的第二卷积节点计算得到的结果相同。
本申请实施例中,通过将第一有向图的子图结构中的第一卷积节点和批量处理节点进行融合处理得到第二卷积节点,并将第二卷积节点替换第一卷积节点和批量处理节点得到第二有向图,通过将第二有向图转换为第二模型,使转换后得到的第二模型在执行上述子图结构时,减少了计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据第一有向图结构,将第一模型中具有计算通用的子图结构转换为统一适合端侧的自定义算子子图结构,进一步减少了转换后得到的第二模型运行时所需的计算量。
示例性地,如图5和图6所示,在第一有向图中进行遍历,第一个节点为Conv节点,根据有向图方向,搜索Conv节点的下一个节点,确定下一个节点为BatchNorm节点,确定Conv节点和BatchNorm节点为第二节点组,则将Conv节点和BatchNorm节点进行融合得到新的Conv节点,并将融合得到的Conv节点替换原第一有向图中的Conv节点和BatchNorm节点。继续搜索,下一个节点为GlobalAveragePool节点,则将GlobalAveragePool替换为Mean节点。在后续搜索过程中,实现了将图5中的第一节点组替换为第一节点,以及将第二节点组替换为第二节点,将生成的图6中的第二有向图转换为第二模型,能够减少端侧运行第二模型所需的计算量。
在本申请的一些实施例中,将第一有向图结构中的子图结构进行转换处理,得到第二有向图结构,包括:将子图结构中的第三节点替换为第四节点,其中,第三节点为第三卷积节点,第四节点为深度广度卷积节点。
本申请实施例中,深度广度卷积节点为DepthwiseConv节点。通过将DepthwiseConv节点简化为Conv节点,能够减少端侧运行第二模型的数据处理量。
图7示出了本申请的一些实施例提供的深度广度卷积节点的数据处理示意图,如图7所示,Conv节点需要对三通道的输入数据,分别与每一个卷积核做卷积求和计算,通过DepthwiseConv节点时需要多做无效的计算操作,将无效的计算操作直接剔除,减少端侧无意义的计算,减轻端侧计算压力,提高模型推理速度。
在本申请的一些实施例中,构建第一模型对应的第一有向图结构,包括:获取第一模型中算子的算子信息,以及不同的算子之间的顺序关系;根据算子信息和顺序关系,构建第一模型对应的第一有向图结构。
本申请实施例中,算子信息为第一模型中各个算子的相关信息,其中包括算子类型等信息,顺序关系为多个算子之间的处理顺序,即输入数据经过不同算子计算的顺序。算子之间的关系为第一有向图的边,算子之间的顺序作为第一有向图的方向,从而构建第一模型对应的第一有向图结构,保证了构建得到的第一有向图结构与第一模型之间的匹配性。
在本申请的一些实施例中,基于图节点对应的第一算子,确定图节点对应的子图结构,包括:查找第一算子对应的目标算子组,目标算子组包括第一算子,且目标算子组中的算子之间相关联;基于目标算子组,确定子图结构,子图结构中的图节点与目标算子组中的算子相匹配。
本申请实施例中,根据第一有向图结构中每个图节点所对应的第一算子的算子信息,能够确定第一算子输入方向和输出方向所连接的其他算子的算子信息,从而确定与第一算子相关且包括第一算子的目标算子组,目标算子组中包括第一算子,以及与第一算子相连接的其他算子。
示例性地,第一算子的算子信息包括第一算子的算子名称、第一算子的计算逻辑等,即通过算子信息能够准确识别该第一算子。
本申请实施例中,目标算子组中包括至少两个算子,每个算子均与第一有向图结构中的图节点一一对应,故目标算子组中多个算子对应第一有向图结构中的多个图节点,子图结构由上述多个图节点组成。
本申请实施例中,在构建得到第一有向图结构之后,基于第一有向图中的图节点对应的第一算子,能够查找到每个第一算子逻辑相关联的目标算子组,并确定该目标算子组中每个算子所对应的图节点形成子图结构,实现了对第一有向图中能够转换更新的子图结构进行准确定位的效果。在本申请的一些实施例中,提供了一种模型转换装置,图8示出了根据本申请实施例的模型转换装置的结构框图,如图8所示,模型转换装置800包括:
构建模块802,用于构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;
确定模块804,用于基于图节点对应的第一算子,确定第一有向图结构中每个图节点对应的子图结构;
处理模块806,用于更新第一有向图结构中的子图结构,得到第二有向图结构;
生成模块808,用于根据第二有向图结构,生成第二模型。
本申请实施例中,通过将第一模型转换为第一有向图结构,能够得到第一模型中每个算子在第一有向图中对应的图节点。通过第一有向图结构中的图节点所对应的第一算子,查获到第一有向图结构中复杂的子图结构。通过将第一有向图中复杂的子图结构经过简化转换处理,得到第二有向图结构,从而简化了第二有向图结构的计算过程,并且保证第一有向图结构和第二有向图结构对应的模型的推理结果相同,实现了能够将云端训练框架神经网络算法模型转换为适用于端侧的模型结构,使转换后的模型中的算子结构更精简,保证转换后的模型能更好的适应端侧硬件,极大提升模型在端侧的推理性能。
在本申请的一些实施例中,确定模块804,用于在子图结构包括第一节点组的情况下,确定第一节点组相应的第一节点;
处理模块806,用于将第一有向图结构中的第一节点组替换为第一节点,得到第二有向图结构。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够通过第一节点替换的第一节点组进行检测,在检测到包括第一节点组的子图结构之后,则将子图结构中的第一节点组替换为第一节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
在本申请的一些实施例中,第一节点组包括相邻的重塑节点和转置节点,第一节点包括通道随机播放节点。
本申请实施例中,通过将第一有向图的子图结构中相邻的重塑节点和转置节点统一替换为通道随机播放节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,将第一模型中具有繁琐拷贝速度操作的子图结构转换为统一适合端侧的子图结构。
在本申请的一些实施例中,第一节点组包括至少两个采集节点,第一节点包括读取节点。
本申请实施例中,通过将第一有向图的子图结构中的至少两个采集节点统一替换为单独一个读取节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。
在本申请的一些实施例中,第一节点组包括全球平均池节点、解压节点、连接节点,第一节点包括取平均值节点。
本申请实施例中,通过将第一有向图的子图结构中全球平均池节点、解压节点、连接节点统一替换为取平均值节点,使转换后得到的第二模型在执行上述子图结构时,减少了多次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,制定可替换的子图结构,对第一模型中不适合端侧运行的子图结构进行替换,转换为更适合端侧推理的子图结构。
在本申请的一些实施例中,处理模块806,用于在子图结构包括第二节点组的情况下,将第二节点组中的节点进行融合处理,得到第二节点,其中,第二节点组包括至少两个计算节点;
处理模块806,用于将第一有向图结构中的第二节点组替换为第二节点,得到第二有向图结构。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够对计算节点进行融合处理的第二节点组进行检测,在检测到包括第二节点组的子图结构之后,则将子图结构中的第二节点组替换为融合处理后得到第二节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
在本申请的一些实施例中,第二节点组包括第一卷积节点和批量处理节点;
处理模块806,用于将第一卷积节点与批量处理节点进行计算融合,得到第二卷积节点;
确定模块804,用于将第二卷积节点,确定为第二节点。
本申请实施例中,通过将第一有向图的子图结构中的第一卷积节点和批量处理节点进行融合处理得到第二卷积节点,并将第二卷积节点替换第一卷积节点和批量处理节点得到第二有向图,通过将第二有向图转换为第二模型,使转换后得到的第二模型在执行上述子图结构时,减少了计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据第一有向图结构,将第一模型中具有计算通用的子图结构转换为统一适合端侧的自定义算子子图结构,进一步减少了转换后得到的第二模型运行时所需的计算量。
在本申请的一些实施例中,模型转换装置800,还包括:
获取模块,用于获取第一模型中算子的算子信息,以及不同的算子之间的顺序关系;
构建模块802,用于根据算子信息和顺序关系,构建第一模型对应的第一有向图结构。
本申请实施例中,算子信息为第一模型中各个算子的相关信息,其中包括算子类型等信息,顺序关系为多个算子之间的处理顺序,即输入数据经过不同算子计算的顺序。算子之间的关系为第一有向图的边,算子之间的顺序作为第一有向图的方向,从而构建第一模型对应的第一有向图结构,保证了构建得到的第一有向图结构与第一模型之间的匹配性。
在本申请的一些实施例中,模型转换装置800还包括:
查找模块,用于查找第一算子对应的目标算子组,目标算子组包括第一算子,且目标算子组中的算子之间相关联;
确定模块804,用于基于目标算子组,确定子图结构,子图结构中的图节点与目标算子组中的算子相匹配。
本申请实施例中,在构建得到第一有向图结构之后,基于第一有向图中的图节点对应的第一算子,能够查找到每个第一算子逻辑相关联的目标算子组,并确定该目标算子组中每个算子所对应的图节点形成子图结构,实现了对第一有向图中能够转换更新的子图结构进行准确定位的效果。
本申请实施例中的模型转换装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的模型转换装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的模型转换装置能够实现上述方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选地,本申请实施例还提供一种电子设备,图9示出了根据本申请实施例的电子设备的结构框图,如图9所示,电子设备900包括处理器902,存储器904,存储在存储器904上并可在处理器902上运行的程序或指令,该程序或指令被处理器902执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图10为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备1000包括但不限于:射频单元1001、网络模块1002、音频输出单元1003、输入单元1004、传感器1005、显示单元1006、用户输入单元1007、接口单元1008、存储器1009以及处理器1010等部件。
本领域技术人员可以理解,电子设备1000还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图10中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器1010,用于构建第一模型对应的第一有向图结构,第一有向图结构中的图节点与第一模型中的算子一一对应,多个图节点之间的顺序与第一模型中多个算子的顺序相匹配;
处理器1010,用于确定第一有向图结构中每个图节点对应的子图结构;
处理器1010,用于将第一有向图结构中的子图结构进行转换处理,得到第二有向图结构;
处理器1010,用于根据第二有向图结构,生成第二模型。
本申请实施例中,通过将第一模型转换为第一有向图结构,能够得到第一模型中每个算子在第一有向图中对应的图节点。通过第一有向图结构中的图节点所对应的第一算子,查获到第一有向图结构中复杂的子图结构。通过将第一有向图中复杂的子图结构经过简化转换处理,得到第二有向图结构,从而简化了第二有向图结构的计算过程,并且保证第一有向图结构和第二有向图结构对应的模型的推理结果相同,实现了能够将云端训练框架神经网络算法模型转换为适用于端侧的模型结构,使转换后的模型中的算子结构更精简,保证转换后的模型能更好的适应端侧硬件,极大提升模型在端侧的推理性能。
进一步地,处理器1010,用于在子图结构包括第一节点组的情况下,确定第一节点组相应的第一节点;
处理器1010,用于将第一有向图结构中的第一节点组替换为第一节点,得到第二有向图结构。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够通过第一节点替换的第一节点组进行检测,在检测到包括第一节点组的子图结构之后,则将子图结构中的第一节点组替换为第一节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
进一步地,第一节点组包括相邻的重塑节点和转置节点,第一节点包括通道随机播放节点。
本申请实施例中,通过将第一有向图的子图结构中相邻的重塑节点和转置节点统一替换为通道随机播放节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,将第一模型中具有繁琐拷贝速度操作的子图结构转换为统一适合端侧的子图结构。
进一步地,第一节点组包括至少两个采集节点,第一节点包括读取节点。
本申请实施例中,通过将第一有向图的子图结构中的至少两个采集节点统一替换为单独一个读取节点,使转换后得到的第二模型在执行上述子图结构时,减少了两次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。
进一步地,第一节点组包括全球平均池节点、解压节点、连接节点,第一节点包括取平均值节点。
本申请实施例中,通过将第一有向图的子图结构中全球平均池节点、解压节点、连接节点统一替换为取平均值节点,使转换后得到的第二模型在执行上述子图结构时,减少了多次计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据原始云端训练得到的第一模型对应的有向图结构,制定可替换的子图结构,对第一模型中不适合端侧运行的子图结构进行替换,转换为更适合端侧推理的子图结构。
进一步地,处理器1010,用于在子图结构包括第二节点组的情况下,将第二节点组中的节点进行融合处理,得到第二节点,其中,第二节点组包括至少两个计算节点;
处理器1010,用于将第一有向图结构中的第二节点组替换为第二节点,得到第二有向图结构。
本申请实施例中,在将第一有向图拆分为多个子图结构之后,对每个子图结构中是否包括能够对计算节点进行融合处理的第二节点组进行检测,在检测到包括第二节点组的子图结构之后,则将子图结构中的第二节点组替换为融合处理后得到第二节点,实现了将一组算子节点替换为一个算子节点,减少了转换得到的第二模型运行时所需的计算量。
进一步地,第二节点组包括第一卷积节点和批量处理节点;
处理器1010,用于将第一卷积节点与批量处理节点进行计算融合,得到第二卷积节点;
处理器1010,用于将第二卷积节点,确定为第二节点。
本申请实施例中,通过将第一有向图的子图结构中的第一卷积节点和批量处理节点进行融合处理得到第二卷积节点,并将第二卷积节点替换第一卷积节点和批量处理节点得到第二有向图,通过将第二有向图转换为第二模型,使转换后得到的第二模型在执行上述子图结构时,减少了计算过程,从而提高了第二模型在端侧运行时的效率,并减少了资源占用率。本申请实施例根据第一有向图结构,将第一模型中具有计算通用的子图结构转换为统一适合端侧的自定义算子子图结构,进一步减少了转换后得到的第二模型运行时所需的计算量。
进一步地,处理器1010,用于获取第一模型中算子的算子信息,以及不同的算子之间的顺序关系;
处理器1010,用于根据算子信息和顺序关系,构建第一模型对应的第一有向图结构。
本申请实施例中,算子信息为第一模型中各个算子的相关信息,其中包括算子类型等信息,顺序关系为多个算子之间的处理顺序,即输入数据经过不同算子计算的顺序。算子之间的关系为第一有向图的边,算子之间的顺序作为第一有向图的方向,从而构建第一模型对应的第一有向图结构,保证了构建得到的第一有向图结构与第一模型之间的匹配性。
应理解的是,本申请实施例中,输入单元1004可以包括图形处理器(GraphicsProcessing Unit,GPU)10041和麦克风10042,图形处理器10041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1006可包括显示面板10061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板10061。用户输入单元1007包括触控面板10071以及其他输入设备10072中的至少一种。触控面板10071,也称为触摸屏。触控面板10071可包括触摸检测装置和触摸控制器两个部分。其他输入设备10072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器1009可用于存储软件程序以及各种数据。存储器1009可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器1009可以包括易失性存储器或非易失性存储器,或者,存储器1009可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器1009包括但不限于这些和任意其它适合类型的存储器。
处理器1010可包括一个或多个处理单元;可选的,处理器1010集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器1010中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (16)

1.一种模型转换方法,其特征在于,包括:
构建第一模型对应的第一有向图结构,所述第一有向图结构中的图节点与所述第一模型中的算子一一对应,多个所述图节点之间的顺序与所述第一模型中多个所述算子的顺序相匹配;
基于所述图节点对应的第一算子,确定所述图节点对应的子图结构;
更新所述第一有向图结构中的所述子图结构,得到第二有向图结构;
根据所述第二有向图结构,生成第二模型。
2.根据权利要求1所述的模型转换方法,其特征在于,所述更新所述第一有向图结构中的所述子图结构,得到第二有向图结构,包括:
在所述子图结构包括第一节点组的情况下,确定所述第一节点组对应的第一节点;
将所述第一有向图结构中的所述第一节点组替换为所述第一节点,得到所述第二有向图结构。
3.根据权利要求2所述的模型转换方法,其特征在于,
所述第一节点组包括相邻的重塑节点和转置节点,所述第一节点包括通道随机播放节点;或者
所述第一节点组包括至少两个采集节点,所述第一节点包括读取节点;或者
所述第一节点组包括全球平均池节点、解压节点、连接节点,所述第一节点包括取平均值节点。
4.根据权利要求1所述的模型转换方法,其特征在于,所述更新所述第一有向图结构中的所述子图结构,得到第二有向图结构,包括:
在所述子图结构包括第二节点组的情况下,将所述第二节点组中的节点进行融合处理,得到第二节点,其中,所述第二节点组包括至少两个计算节点;
将所述第一有向图结构中的所述第二节点组替换为所述第二节点,得到所述第二有向图结构。
5.根据权利要求4所述的模型转换方法,其特征在于,所述第二节点组包括第一卷积节点和批量处理节点;
所述在所述子图结构包括第二节点组的情况下,将所述第二节点组中的节点进行融合处理,得到第二节点,包括:
将所述第一卷积节点与所述批量处理节点进行计算融合,得到第二卷积节点;
将所述第二卷积节点,确定为所述第二节点。
6.根据权利要求1至5中任一项所述的模型转换方法,其特征在于,所述构建第一模型对应的第一有向图结构,包括:
获取所述第一模型中所述算子的算子信息,以及不同的所述算子之间的顺序关系;
根据所述算子信息和所述顺序关系,构建所述第一模型对应的第一有向图结构。
7.根据权利要求1至5中任一项所述的模型转换方法,其特征在于,所述基于所述图节点对应的第一算子,确定所述图节点对应的子图结构,包括:
查找所述第一算子对应的目标算子组,所述目标算子组包括所述第一算子,且所述目标算子组中的算子之间相关联;
基于所述目标算子组,确定所述子图结构,所述子图结构中的所述图节点与所述目标算子组中的所述算子相匹配。
8.一种模型转换装置,其特征在于,包括:
构建模块,用于构建第一模型对应的第一有向图结构,所述第一有向图结构中的图节点与所述第一模型中的算子一一对应,多个所述图节点之间的顺序与所述第一模型中多个所述算子的顺序相匹配;
确定模块,用于基于所述图节点对应的第一算子,确定所述图节点对应的子图结构;
处理模块,用于更新所述第一有向图结构中的所述子图结构,将所述第一有向图结构中的所述子图结构进行转换处理,得到第二有向图结构;
生成模块,用于根据所述第二有向图结构,生成第二模型。
9.根据权利要求8所述的模型转换装置,其特征在于,
所述确定模块,用于在所述子图结构包括第一节点组的情况下,确定所述第一节点组对应的第一节点;
所述处理模块,用于将所述第一有向图结构中的所述第一节点组替换为所述第一节点,得到所述第二有向图结构。
10.根据权利要求9所述的模型转换装置,其特征在于,
所述第一节点组包括相邻的重塑节点和转置节点,所述第一节点包括通道随机播放节点;或者
所述第一节点组包括至少两个采集节点,所述第一节点包括读取节点;或者
所述第一节点组包括全球平均池节点、解压节点、连接节点,所述第一节点包括取平均值节点。
11.根据权利要求8所述的模型转换装置,其特征在于,
所述处理模块,用于在所述子图结构包括第二节点组的情况下,将所述第二节点组中的节点进行融合处理,得到第二节点,其中,所述第二节点组包括至少两个计算节点;
所述处理模块,用于将所述第一有向图结构中的所述第二节点组替换为所述第二节点,得到所述第二有向图结构。
12.根据权利要求11所述的模型转换装置,其特征在于,所述第二节点组包括第一卷积节点和批量处理节点;
所述处理模块,用于将所述第一卷积节点与所述批量处理节点进行计算融合,得到第二卷积节点;
所述确定模块,用于将所述第二卷积节点,确定为所述第二节点。
13.根据权利要求8至12中任一项所述的模型转换装置,其特征在于,还包括:
获取模块,用于获取所述第一模型中所述算子的算子信息,以及不同的所述算子之间的顺序关系;
所述构建模块,用于根据所述算子信息和所述顺序关系,构建所述第一模型对应的第一有向图结构。
14.根据权利要求8至12中任一项所述的模型转换装置,其特征在于,还包括:
查找模块,用于查找所述第一算子对应的目标算子组,所述目标算子组包括所述第一算子,且所述目标算子组中的算子之间相关联;
所述确定模块,用于基于所述目标算子组,确定所述子图结构,所述子图结构中的所述图节点与所述目标算子组中的所述算子相匹配。
15.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
16.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
CN202310043521.4A 2023-01-29 2023-01-29 模型转换方法、装置、电子设备和存储介质 Pending CN116049691A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310043521.4A CN116049691A (zh) 2023-01-29 2023-01-29 模型转换方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310043521.4A CN116049691A (zh) 2023-01-29 2023-01-29 模型转换方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116049691A true CN116049691A (zh) 2023-05-02

Family

ID=86123663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310043521.4A Pending CN116049691A (zh) 2023-01-29 2023-01-29 模型转换方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116049691A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820524A (zh) * 2023-08-22 2023-09-29 腾讯科技(深圳)有限公司 模型更新方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820524A (zh) * 2023-08-22 2023-09-29 腾讯科技(深圳)有限公司 模型更新方法、装置、计算机设备及存储介质
CN116820524B (zh) * 2023-08-22 2023-11-28 腾讯科技(深圳)有限公司 模型更新方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
Torralba et al. Contextual models for object detection using boosted random fields
US11575502B2 (en) Homomorphic encryption processing device, system including the same and method of performing homomorphic encryption processing
CN110825884A (zh) 基于人工智能的嵌入表示处理方法、装置及电子设备
CN114005012A (zh) 多模态预训练模型的训练方法、装置、设备及存储介质
US20230401756A1 (en) Data Encoding Method and Related Device
CN111462088A (zh) 基于图卷积神经网络的数据处理方法、装置、设备及介质
KR20180103671A (ko) 언어 모델을 압축하기 위한 전자 장치, 추천 워드를 제공하기 위한 전자 장치 및 그 동작 방법들
CN116310667B (zh) 联合对比损失和重建损失的自监督视觉表征学习方法
CN114677565A (zh) 特征提取网络的训练方法和图像处理方法、装置
CN116049691A (zh) 模型转换方法、装置、电子设备和存储介质
CN114925320B (zh) 一种数据处理方法及相关装置
CN111401514A (zh) 基于改进图卷积网络的半监督符号网络嵌入方法及系统
US11539504B2 (en) Homomorphic operation accelerator and homomorphic operation performing device including the same
Qing et al. Attentive and context-aware deep network for saliency prediction on omni-directional images
Neuhäuser et al. Learning the effective order of a hypergraph dynamical system
CN117094365A (zh) 图文生成模型的训练方法、装置、电子设备及介质
CN111639523B (zh) 目标检测方法、装置、计算机设备和存储介质
TW202201285A (zh) 一種神經網路的訓練方法、視頻識別方法及電腦設備和電腦可讀儲存介質
RU2734579C1 (ru) Система сжатия искусственных нейронных сетей на основе итеративного применения тензорных аппроксимаций
CN117197632A (zh) 一种基于Transformer的电镜花粉图像目标检测方法
CN115439449B (zh) 全视野组织学图像的处理方法、装置、介质和电子设备
CN111144492B (zh) 面向移动端虚拟现实与增强现实的场景图谱生成方法
CN115272716A (zh) 一种提取整合图像内部与图像之间特征关系的方法和装置
Guo et al. Fast PixelCNN: Based on network acceleration cache and partial generation network
CN113051961A (zh) 深度图人脸检测模型训练方法、系统、设备及存储介质

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