CN116258178A - 模型转换方法、装置、电子设备和可读存储介质 - Google Patents
模型转换方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN116258178A CN116258178A CN202310297330.0A CN202310297330A CN116258178A CN 116258178 A CN116258178 A CN 116258178A CN 202310297330 A CN202310297330 A CN 202310297330A CN 116258178 A CN116258178 A CN 116258178A
- Authority
- CN
- China
- Prior art keywords
- operator
- target
- model
- data
- convolution
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提出了一种模型转换方法、装置、电子设备和可读存储介质,其中,模型转换方法,包括:查找第一模型中的目标卷积算子;基于目标卷积算子的算子结构为预设结构,构建目标算子组,目标算子组的输出结果与目标卷积算子的输出结果相匹配;将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型。
Description
技术领域
本申请属于模型处理技术领域,具体而言,涉及一种模型转换方法、装置、电子设备和可读存储介质。
背景技术
通用推理框架对模型进行计算图优化的主要目的是加速前向推理,现有的计算图优化方案中加速推理是通过减少计算节点数量来实现的,减少计算节点数量的方法主要有算子融合和无用节点去除。
相关技术中,训练得到的模型中存在部分卷积节点使用不合理的情况,导致整个模型的推理速度较慢,通过算子融合和无用节点去除无法解决该问题。
发明内容
本申请旨在解决现有技术或相关技术中存在的技术问题之一。
为此,本申请的第一方面提出了一种模型转换方法。
本申请的第二方面提出了一种模型转换装置。
本申请的第三方面提出了一种模型转换装置。
本申请的第四方面提出了一种计算机程序产品。
本申请的第五方面提出了一种可读存储介质。
本申请的第六方面提出了一种电子设备。
有鉴于此,根据本申请的第一方面提出一种模型转换方法,包括:查找第一模型中的目标卷积算子;基于目标卷积算子的算子结构为预设结构,构建目标算子组,目标算子组的输出结果与目标卷积算子的输出结果相匹配;将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型。
根据本申请第二方面提出了一种模型转换装置,包括:查找模块,用于查找第一模型中的目标卷积算子;构建模块,用于基于目标卷积算子的算子结构为预设结构,构建目标算子组,目标算子组的输出结果与目标卷积算子的输出结果相匹配;生成模块,用于将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型。
根据本申请第三方面提出了一种模型转换装置,包括:存储器,存储器中存储有程序或指令;处理器,处理器执行存储在存储器中的程序或指令以实现如第一方面中任一技术方案中的模型转换方法的步骤,因而具有上述第一方面中任一技术方案中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
根据本申请第四方面提出了一种计算机程序产品,计算机程序产品被处理器执行时实现如第一方面中任一技术方案中的模型转换方法的步骤,因而具有上述第一方面中任一技术方案中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
根据本申请第五方面提出了一种可读存储介质,可读存储介质上存储有程序或指令,程序或指令被处理器执行时实现如上述第一方面中任一技术方案中的模型转换方法的步骤。因而具有上述第一方面中任一技术方案中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
根据本申请第六方面提出了一种电子设备,包括:如上述第二方面或第三方面中限定的模型转换装置,和/或上述第四方面中限定的计算机程序产品,和/或上述第五方面中限定的可读存储介质,因而具有上述第二方面或第三方面中限定的模型转换装置,和/或上述第四方面中限定的计算机程序产品,和/或上述第五方面中限定的可读存储介质的全部有益技术效果,在此不再做过多赘述。
本申请的技术方案中,通过检测模型中的目标卷积算子,并基于目标卷积的算子结构判断该目标卷积算子是否需要被替换。在确定目标卷积算子需要被替换对模型进行优化的情况下,则构建与目标卷积算子相匹配的目标算子组,并将第一模型中的目标卷积算子替换为该目标算子组,实现了自动对模型中可被替换优化的目标卷积算子进行检测,并替换该目标卷积算子的效果,提高了模型的整体推理速度,使替换优化后的模型能够在低资源的边端设备上快速稳定运行。
本申请的附加方面和优点将在下面的描述部分中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本申请的一些实施例中提供的模型转换方法的示意流程图之一;
图2示出了本申请的一些实施例中提供的模型转换方法的示意流程图之二;
图3示出了本申请的一些实施例中提供的模型转换方法的示意流程图之三;
图4示出了本申请的一些实施例中提供的目标卷积算子和目标算子组的示意图;
图5示出了本申请的一些实施例中提供的模型转换方法的示意流程图之四;
图6示出了本申请的一些实施例中提供的模型转换方法的示意流程图之五;
图7示出了本申请的一些实施例中提供的模型转换装置的结构框图;
图8示出了本申请的一些实施例提供的模型转换装置的结构框图;
图9示出了本申请的一些实施例提供的电子设备的结构框图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图9描述根据本申请一些实施例的模型转换方法、装置、可读存储介质和电子设备。
根据本申请的一个实施例中,如图1所示,提出了一种模型转换方法,包括:
步骤102,查找第一模型中的目标卷积算子;
步骤104,基于目标卷积算子的算子结构为预设结构,构建目标算子组;
其中,目标算子组的输出结果与目标卷积算子的输出结果相匹配;
步骤106,将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型。
本申请提供的模型转换方法用于对第一模型中的预设结构的目标卷积算子进行转换处理,预设结构的目标卷积算子为推理速度较慢的卷积算子,目标算子组为构建得到的与目标卷积算子相匹配,且推理速度较快的算子组结构,通过该目标算子组替换第一模型中推理速度较慢的目标卷积算子,从而提高第一模型的推理速度。
其中,第一模型为神经网络模型,该神经网络模型可以为语音识别模型或目标检测模型等。
在该实施例中,在第一模型中查找到目标卷积算子之后,对查找到的目标卷积算子是否为预设结构进行检测,在检测到目标卷积算子为预设结构的情况下,则能够确定该目标卷积算子为推理速度较慢的卷积算子,故需要构建相应的目标算子组替换该目标卷积算子。
目标算子组为基于目标卷积算子所构建的算子组,该目标算子组的输入和输出与目标卷积算子的输入和输出相匹配,通过该目标算子组替换目标卷积算子之后,第一模型的推理结果不会发生改变,且目标算子组的推理速度快于目标卷积算子,以提高第一模型整体的推理速度。
示例性地,目标卷积算子可以为Conv2d(二维卷积)算子,通过Conv2d算子的输入通道数量和Conv2d算子的卷积核的尺寸判断该目标卷积算子的算子结构是否为预设结构,在目标卷积算子的算子结构为预设结构的情况下,则确定该Conv2d算子使用不合理,即能够通过构建目标算子组替换该Conv2d算子,提高模型的推理速度。目标算子组中包括FC(Fully Connected,全连接)算子,以及reshape(重塑)算子。FC算子的权重信息与Conv2d算子的权重信息相匹配,且reshape算子的数据维度信息也与Conv2d算子的数据维度信息相匹配。在通过包括FC算子和reshape算子的目标算子组,替换模型中的Conv2d算子后,能够提高模型的整体推理速度,且保证转换后的模型的推理结果保持不变。
本申请的实施例中,通过检测模型中的目标卷积算子,并基于目标卷积的算子结构判断该目标卷积算子是否需要被替换。在确定目标卷积算子需要被替换对模型进行优化的情况下,则构建与目标卷积算子相匹配的目标算子组,并将第一模型中的目标卷积算子替换为该目标算子组,实现了自动对模型中可被替换优化的目标卷积算子进行检测,并替换该目标卷积算子的效果,提高了模型的整体推理速度,使替换优化后的模型能够在低资源的边端设备上快速稳定运行。
如图2所示,在上述实施例中,基于目标卷积算子的算子结构为预设结构,构建目标算子组之前,还包括:
步骤202,读取目标卷积算子的卷积核的尺寸信息;
步骤204,在尺寸信息满足预设条件,且目标卷积算子的输入通道的数量为预设数量,确定目标卷积算子的卷积为预设结构。
在该实施例中给出了通过目标卷积算子中卷积核的尺寸信息,判断目标卷积算子是否为预设结构的卷积算子的过程。
本申请的实施例中,目标卷积算子的算子结构包括目标卷积算子的卷积核的尺寸信息,以及目标卷积算子的输入通道的数量。在查找到第一模型中的目标卷积算子之后,检测目标卷积算子的卷积核的尺寸信息,以及目标卷积算子的输入通道的数量。并将尺寸信息与预设的尺寸信息进行比对,以及将输入通道的数量与预设数量进行比对,从而判断该目标卷积算子是否为预设结构的目标卷积算子,实现了准确识别第一模型中可被目标算子组替换优化的目标卷积算子,避免对无需替换优化的目标卷积算子进行替换。
示例性地,目标卷积算子可以为Conv2d算子,读取该Conv2d算子的尺寸信息,该尺寸信息为卷积核的尺寸信息,例如:卷积核的尺寸信息为1×n,或n×1的情况下,则确定该卷积核的尺寸信息满足预设条件。检测该Conv2d的输入通道数量为1,且预设数量也为1,则确定该Conv2d算子为预设结构的目标卷积算子。反之,如果该Conv2d算子不满足上述条件,则确定该Conv2d算子不是预设结构的目标卷积算子,即不对其构建相应的目标算子组,也无需将其替换为其他算子组结构。
本申请的实施例中,通过检测目标卷积算子中卷积核的尺寸信息,以及目标卷积算子中输入通道的数量,能够实现对目标卷积算子中需要被替换优化的目标卷积算子的准确识别,提高了优化模型的准确性和成功率,避免对无需替换优化的目标卷积算子进行替换,造成的资源浪费。
在上述任一实施例中,尺寸信息包括数据宽度和数据高度;
尺寸信息满足预设条件包括:数据宽度为1,且数据高度为n,n为目标卷积算子的输入数据的高度;或数据宽度为m,且数据高度为1,m为目标卷积算子的输入数据的宽度。
在该实施例中给出了尺寸信息的具体内容,以及如何基于卷积核的尺寸信息判断目标卷积算子的尺寸信息是否满足预设条件。
本申请的实施例中,尺寸信息包括卷积核的数据矩阵的数据宽度M,以及数据高度N。在检测到第一模型中的目标卷积算子之后,获取该目标卷积算子的kernalsize(卷积核的尺寸信息),kernalsize为M×N。
具体来说,在卷积核的数据宽度或数据高度与输入数据的数据宽度或数据高度相匹配,且数据宽度和数据高度中另一个为1的情况下,确定尺寸信息满足预设条件。
示例性地,在kernalsize是1×n的情况下,则判定该目标卷积算子的kernalsize满足预设条件,其中,n是目标卷积算子在数据处理过程中的输入数据的数据高度。其中,卷积核的数据宽度为1,且卷积核的数据高度与输入数据的数据高度相同,则判定该尺寸信息满足预设条件。
示例性地,在kernalsize是m×1的情况下,则判定该目标卷积算子的kernalsize满足预设条件,其中,m是目标卷积算子在数据处理过程中的输入数据的数据宽度。其中,卷积核的数据宽度与输入数据的数据宽度相同,且卷积和的数据高度为1,则判定该尺寸信息满足预设条件。
本申请的实施例中,根据卷积核的数据宽度和数据高度与输入数据的数据宽度和数据高度进行比对,能够准确判断相应的尺寸信息是否满足预设条件,从而对该目标卷积算子是否需要被替换优化进行检测,提高了对第一模型进行替换优化的准确性。
如图3所示,在上述任一实施例中,基于目标卷积算子的算子结构为预设结构,构建目标算子组,包括:
步骤302,获取目标卷积算子的数据计算信息,以及数据维度信息,数据维度信息为目标卷积算子输入数据和输出数据的维度信息;
步骤304,根据数据计算信息,构建目标等效算子;根据数据维度信息,构建重塑算子;
步骤306,根据重塑算子和目标等效算子,构建目标算子组。
在该实施例中给出了根据目标卷积算子的数据计算信息和数据维度信息,对目标算子组进行构建的具体过程,从而保证了用于替换目标卷积算子的目标算子组与目标卷积算子的匹配性,提高了替换优化后的目标模型与第一模型的匹配性。
本申请的实施例中,计算信息为能够反映目标卷积算子对输入数据进行计算处理的相关信息,数据维度信息为能够反映目标卷积算的输入数据和输出数据之间的维度变化的相关信息。目标等效算子为与目标卷积算子计算过程等效的处理算子,重塑算子为与目标卷积算子对数据维度转换相匹配的重塑算子。
示例性地,目标等效算子可以为FC算子,重塑算子可以为reshape算子、resize算子、slice算子、expand dims算子、squeeze算子中的任意一个,重塑算子可选为能够改变数据维度的任意算子即可。
具体来说,在查找到预设结构的目标卷积算子之后,对目标卷积算子进行解析,确定该目标卷积算子中的数据计算信息和相应的数据维度信息,并基于数据计算信息和数据维度信息分别构建相应的目标等效算子和重塑算子。再将构建得到的目标等效算子与重塑算子进行拼接组装形成目标算子组,通过推理效率更高的目标等效算子替换目标卷积算子,有助于提高目标模型的推理速度,通过重塑算子能够保证数据经过目标卷积算子和目标算子组之后的数据维度变化相匹配。
如图4所示,示例性地,目标卷积算子可以为Conv2d算子,其中,“1×6×64×1”分别对应conv2d的输入“输入批次、输入数据高度、输入数据宽度、输入通道数”的信息,“1×6×1×128”即分别对应conv2d的输出“输入批次、输出数据高度、输出数据宽度、输出通道数”的信息。目标等效算子为FC算子,重塑算子为reshape算子,其中,“1×6×64×1”分别对应reshape算子的输入“输入批次、输入数据高度、输入数据宽度、输入通道数”的信息,“6×64”对应FC算子输入的“输入数据高度、输入数据宽度”的信息,“6×128”对应reshape算子输入的“输入数据高度,输出通道数量”的信息,“1×6×1×128”即分别对应reshape算子的输出的“输入批次、输出数据高度、输出数据宽度、输出通道数”的信息。具体来说,conv2d的输入为[1,in_height,in_width,1],其中第一个1表示批次,最后一个1表示输入通道数,卷积核为[out_channels,1,in_width,1],经过卷积运算得到输出数据为[1,in_height,1,out_channels]。根据Conv2d算子的卷积核的计算信息[out_channels,in_width]构建FC算子,保证FC算子的输入和输出与Conv2d相匹配。FC算子输入输出为二维数据,Conv2d的输入输出为四维数据,则reshape算子分别设置在FC算子的输入侧和输出侧,用于缩减和扩展数据维度,保证目标算子组输入数据和输出数据维度为四维。
本申请的实施例中,通过对目标卷积算子进行解析,得到目标卷积算子的数据计算信息和目标卷积算子的数据维度信息,并据此分别构建目标等效算子,以及重塑算子,通过相比于目标卷积算子推理速度更快的目标等效算子处理目标卷积算子的计算任务,并通过重塑算子对输入数据和输出数据的维度进行调整,实现了目标算子组的输入数据和输出数据与目标卷积算子相匹配,提高模型的推理速度的同时,保证了目标模型与第一模型的匹配性,避免转换后的模型推理发生变化。
如图5所示,在上述任一实施例中,根据数据计算信息,构建目标等效算子,包括:
步骤502,获取全连接算子;
步骤504,将数据计算信息,配置到全连接算子中,得到目标等效算子;
其中,数据计算信息包括乘离率信息和权重信息。
在该实施例中给出了将全连接算子作为目标等效算子,以及构建该目标等效算子的具体过程。
本申请的实施例中,计算信息包括目标卷积算子的bias(乘离率)信息和weights(权重)信息。具体来说,构建一个新的FC算子(全连接算子),构建FC算子之后,将目标卷积算子的bias信息与weights信息写入该FC算子中,得到目标等效算子。
如图4所示,示例性地,目标卷积算子可以为Conv2d算子,目标等效算子为FC算子,Conv2d的输入数据为[1,in_height,in_width,1],conv2d的输出数据为[1,in_height,1,out_channels]。将Conv2d算子的原卷积的filter(卷积核)调整为[out_channels,in_width]作为FC算子的weights信息,把Conv2d算子的bias作为FC算子的bias,完成对目标等效算子的构建,该目标等效算子为FC算子,且该FC算子的输入数据与输出数据与Conv2d的输入数据和输出数据相匹配,保证了替换优化有的目标模型与第一模型的输入数据和输出数据相匹配。
本申请的实施例中,由于神经网络推理框架对卷积算子和全连接算子的加速方式不同,在目标卷积算子为预设结构的卷积算子的情况下,相同运算采用全连接算子的计算推理效率更高,故通过全连接算子对第一模型中的目标卷积算子进行替换,能够保证目标模型相比于第一模型的运算效率更好,更适合在低资源的边端设备上加载运行。
在上述任一实施例中,重塑算子包括:输入重塑算子和输出重塑算子,数据维度信息包括数据输入维度和数据输出维度;
根据数据维度信息,构建重塑算子,包括:根据数据输入维度,配置输入重塑算子;根据数据输出维度,配置输出重塑算子。
在该实施例中,由于目标等效算子的输入数据和输出数据的数据维度与目标卷积算子的输入数据和输出数据的数据维度不同,通过在目标等效算子的输入侧和输出侧分别设置输入重塑算子和输出重塑算子,使目标算子组的输入数据和输出数据的数据维度与目标卷积算子的数据维度相匹配。
本申请的实施例中,数据维度信息包括目标卷积算子的数据输入维度,以及数据输出维度。在确定数据输入维度和数据输出维度之后,分别基于数据输入维度和数据输出维度,构建相应的输入重塑算子,以及数据重塑算子。
如图4所示,示例性地,目标卷积算子可以为Conv2d算子,重塑算子可以为reshape算子,conv2d算子的输入数据和输出数据均为四维数据,为保证替换完全等效,需要在FC算子前插入输入重塑算子,并在FC算子后插入输出重塑算子,FC算子前面的reshape算子为输入重塑算子,将[1,in_height,in_width,1]变为[in_height,in_width],FC算子后面的reshape算子为输出重塑算子将[in_height,out_channels]变为[1,in_height,1,out_channels]。
本申请的实施例中,通过在目标等效算子的输入侧和输出侧分别插入输入重塑算子和输出重塑算子,以对目标等效算子的数据输入维度和数据出维度进行转换,保证了目标算子组的数据维度信息与目标卷积算子的数据维度信息相匹配。
在上述任一实施例中,根据重塑算子和目标等效算子,构建目标算子组,包括:将输入重塑算子与目标等效算子的数据输入侧相连,以及将输出重塑算子与目标等效算子的数据输出侧相连,得到目标算子组。
在该实施例中给出了将重塑算子与目标等效算子进行组合拼接,行程相应的目标算子组的过程。
本申请的实施例中,目标等效算子的数据输入维度和数据输出维度与目标卷积算子的数据输入维度和数据输出维度不匹配的情况下,则需要在目标等效算子的输入侧和输出侧分别插入重塑算子,故通过将两个重塑算子分别设置在目标等效算子的输入侧和输出侧,能够保证目标算子组与目标卷积算子的推理相匹配。
如图6所示,在上述任一实施例中,将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型,包括:
步骤602,将目标算子组插入计算图结构中;
其中,目标算子组在计算图结构中的位置与目标卷积算子的位置相匹配,计算图结构中的图节点与第一模型中的算子一一对应;
步骤604,将计算图结构中的目标卷积算子删除;
步骤606,将计算图结构转换为目标模型。
在该实施例中给出了基于与第一模型相匹配的计算图结构,对第一模型通过目标算子组替换目标卷积算子的具体过程。
本申请的实施例中,计算图结构为对第一模型进行解析得到的有向图结构,算子之间的关系为第一有向图的边,算子之间的顺序作为第一有向图的方向。计算图结构中的每个图节点均对应第一模型中的一个算子,通过对计算图结构中每个图节点进行广度和深度的遍历,能够得到每个图节点在计算图结构中所构成的子图结构,每个子图结构均对应一个完整的计算过程。
示例性地,在训练得到第一模型之后,系统自动构建并包括与第一模型相匹配的计算图结构。
本申请的实施例中,通过将构建得到的目标算子组先插入到计算图结构中,将目标算子组的输入侧与目标卷积层的输入侧设置位置相匹配,将目标算子组的输出侧与目标卷积层的输出侧设置位置相匹配。在将目标算子组插入之后,删除计算图结构中的目标卷积算子,在删除计算图结构中目标卷积算子之后,将计算图转换为目标模型,从而完成对模型的优化处理。
在上述任一实施例中,查找第一模型中的目标卷积算子,包括:对计算图结构进行遍历,查找目标卷积算子。
在该实施例中给出了通过计算图结构查找目标卷积算子的方案。
本申请的实施例中,通过对计算图结构中的各个图节点进行遍历,以查找到目标图节点,该目标图节点对应的卷积算子为目标卷积算子。
在上述任一实施例中,目标卷积算子包括二维卷积算子。
本申请的实施例中,在二维卷积算子的算子结构不规则的情况下,即二维卷积算子中不是类似3×3、5×5这种常规的卷积核的情况下,计算效率较低,故将其转换为目标算子组,在低资源边端设备上运行替换目标算子组得到的目标模型可以起到很好的加速效果。
在上述任一实施例中,第一模型包括以下任一项:图像分类模型、目标检测模型、语音识别模型。
示例性地,语音识别模型应用中包括九个预设结构的Conv2d算子,并将九个Conv2d算子均替换为包括reshape算子和FC算子后,能够在推理时间上减少三分之一。
在根据本申请的一个实施例中,如图7所示,提出了一种模型转换装置700,包括:
查找模块702,用于查找第一模型中的目标卷积算子;
构建模块704,用于基于目标卷积算子的算子结构为预设结构,构建目标算子组,目标算子组的输出结果与目标卷积算子的输出结果相匹配;
生成模块706,用于将第一模型中的目标卷积算子,替换为目标算子组,生成目标模型。
本申请的实施例中,通过检测模型中的目标卷积算子,并基于目标卷积的算子结构判断该目标卷积算子是否需要被替换。在确定目标卷积算子需要被替换对模型进行优化的情况下,则构建与目标卷积算子相匹配的目标算子组,并将第一模型中的目标卷积算子替换为该目标算子组,实现了自动对模型中可被替换优化的目标卷积算子进行检测,并替换该目标卷积算子的效果,提高了模型的整体推理速度,使替换优化后的模型能够在低资源的边端设备上快速稳定运行。
在上述任一实施例中,模型转换装置700,还包括:
读取模块,用于读取目标卷积算子的卷积核的尺寸信息;
确定模块,用于在尺寸信息满足预设条件,且目标卷积算子的输入通道的数量为预设数量,确定目标卷积算子的卷积为预设结构。
本申请的实施例中,通过检测目标卷积算子中卷积核的尺寸信息,以及目标卷积算子中输入通道的数量,能够实现对目标卷积算子中需要被替换优化的目标卷积算子的准确识别,提高了优化模型的准确性和成功率,避免对无需替换优化的目标卷积算子进行替换,造成的资源浪费。
在上述任一实施例中,尺寸信息包括数据宽度和数据高度;
尺寸信息满足预设条件包括:数据宽度为1,且数据高度为n,n为目标卷积算子的输入数据的高度;或数据宽度为m,且数据高度为1,m为目标卷积算子的输入数据的宽度。
本申请的实施例中,根据卷积核的数据宽度和数据高度与输入数据的数据宽度和数据高度进行比对,能够准确判断相应的尺寸信息是否满足预设条件,从而对该目标卷积算子是否需要被替换优化进行检测,提高了对第一模型进行替换优化的准确性。
在上述任一实施例中,模型转换装置700,还包括:
获取模块,用于获取目标卷积算子的数据计算信息,以及数据维度信息,数据维度信息为目标卷积算子输入数据和输出数据的维度信息;
构建模块704,用于根据数据计算信息,构建目标等效算子;
构建模块704,用于根据数据维度信息,构建重塑算子;
构建模块704,用于根据重塑算子和目标等效算子,构建目标算子组。
本申请的实施例中,通过对目标卷积算子进行解析,得到目标卷积算子的数据计算信息和目标卷积算子的数据维度信息,并据此分别构建目标等效算子,以及重塑算子,通过相比于目标卷积算子推理速度更快的目标等效算子处理目标卷积算子的计算任务,并通过重塑算子对输入数据和输出数据的维度进行调整,实现了目标算子组的输入数据和输出数据与目标卷积算子相匹配,提高模型的推理速度的同时,保证了目标模型与第一模型的匹配性,避免转换后的模型推理发生变化。
在上述任一实施例中,获取模块,用于获取全连接算子;
模型转换装置700,还包括:
配置模块,用于将数据计算信息,配置到全连接算子中,得到目标等效算子;
其中,数据计算信息包括乘离率信息和权重信息。
本申请的实施例中,由于神经网络推理框架对卷积算子和全连接算子的加速方式不同,在目标卷积算子为预设结构的卷积算子的情况下,相同运算采用全连接算子的计算推理效率更高,故通过全连接算子对第一模型中的目标卷积算子进行替换,能够保证目标模型相比于第一模型的运算效率更好,更适合在低资源的边端设备上加载运行。
在上述任一实施例中,重塑算子包括:输入重塑算子和输出重塑算子,数据维度信息包括数据输入维度和数据输出维度;
配置模块,用于根据数据输入维度,配置输入重塑算子;
配置模块,用于根据数据输出维度,配置输出重塑算子。
本申请的实施例中,通过在目标等效算子的输入侧和输出侧分别插入输入重塑算子和输出重塑算子,以对目标等效算子的数据输入维度和数据出维度进行转换,保证了目标算子组的数据维度信息与目标卷积算子的数据维度信息相匹配。
在上述任一实施例中,构建模块704,用于将输入重塑算子与目标等效算子的数据输入侧相连,以及将输出重塑算子与目标等效算子的数据输出侧相连,得到目标算子组。
本申请的实施例中,目标等效算子的数据输入维度和数据输出维度与目标卷积算子的数据输入维度和数据输出维度不匹配的情况下,则需要在目标等效算子的输入侧和输出侧分别插入重塑算子,故通过将两个重塑算子分别设置在目标等效算子的输入侧和输出侧,能够保证目标算子组与目标卷积算子的推理相匹配。
在上述任一实施例中,模型转换装置700,还包括:
插入模块,用于将目标算子组插入计算图结构中,目标算子组在计算图结构中的位置与目标卷积算子的位置相匹配,计算图结构中的图节点与第一模型中的算子一一对应;
删除模块,用于将计算图结构中的目标卷积算子删除;
转换模块,用于将计算图结构转换为目标模型。
本申请的实施例中,通过将构建得到的目标算子组先插入到计算图结构中,将目标算子组的输入侧与目标卷积层的输入侧设置位置相匹配,将目标算子组的输出侧与目标卷积层的输出侧设置位置相匹配。在将目标算子组插入之后,删除计算图结构中的目标卷积算子,在删除计算图结构中目标卷积算子之后,将计算图转换为目标模型,从而完成对模型的优化处理。
在上述任一实施例中,模型转换装置700,还包括:
查找模块702,用于对计算图结构进行遍历,查找目标卷积算子。
本申请的实施例中,通过对计算图结构中的各个图节点进行遍历,以查找到目标图节点,该目标图节点对应的卷积算子为目标卷积算子。
在上述任一实施例中,目标卷积算子包括二维卷积算子。
本申请的实施例中,在二维卷积算子的算子结构不规则的情况下,即二维卷积算子中不是类似3×3、5×5这种常规的卷积核的情况下,计算效率较低,故将其转换为目标算子组,在低资源边端设备上运行替换目标算子组得到的目标模型可以起到很好的加速效果。
在上述任一实施例中,第一模型包括以下任一项:图像分类模型、目标检测模型、语音识别模型。
在根据本申请的一个实施例中,如图8所示,提出了一种模型转换装置,包括:处理器802和存储器804,存储器804中存储有程序或指令;处理器802执行存储在存储器804中的程序或指令以实现如任一实施例中的模型转换方法的步骤,因而具有上述任一实施例中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
在根据本申请的一个实施例中,提出了一种计算机程序产品,计算机程序产品被处理器执行时实现如上述任一实施例中的模型转换方法的步骤,因而具有上述任一实施例中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
在根据本申请的一个实施例中,提出了一种可读存储介质,可读存储介质上存储有程序或指令,程序或指令被处理器执行时实现如上述任一实施例中的模型转换方法的步骤。因而具有上述任一实施例中的模型转换方法的全部有益技术效果,在此不再做过多赘述。
在根据本申请的一个实施例中,如图9所示,提出了一种电子设备900,包括:如上述任一实施例中的模型转换装置800,和/或上述任一实施例中的计算机程序产品902,和/或上述任一实施例中的可读存储介质904,因而具有上述任一实施例中的模型转换装置800,和/或上述任一实施例中的计算机程序产品902,和/或上述任一实施例中的可读存储介质904的全部有益技术效果,在此不再做过多赘述。
需要明确的是,在本申请的权利要求书、说明书和说明书附图中,术语“多个”则指两个或两个以上,除非有额外的明确限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了更方便地描述本申请和使得描述过程更加简便,而不是为了指示或暗示所指的装置或元件必须具有所描述的特定方位、以特定方位构造和操作,因此这些描述不能理解为对本申请的限制;术语“连接”、“安装”、“固定”等均应做广义理解,举例来说,“连接”可以是多个对象之间的固定连接,也可以是多个对象之间的可拆卸连接,或一体地连接;可以是多个对象之间的直接相连,也可以是多个对象之间的通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据上述数据地具体情况理解上述术语在本申请中的具体含义。
在本申请的权利要求书、说明书和说明书附图中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本申请的实施例或示例中。在本申请的权利要求书、说明书和说明书附图中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种模型转换方法,其特征在于,包括:
查找第一模型中的目标卷积算子;
基于所述目标卷积算子的算子结构为预设结构,构建目标算子组,所述目标算子组的输出结果与所述目标卷积算子的输出结果相匹配;
将所述第一模型中的目标卷积算子,替换为所述目标算子组,生成目标模型。
2.根据权利要求1所述的模型转换方法,其特征在于,所述基于所述目标卷积算子的算子结构为预设结构,构建目标算子组之前,还包括:
读取所述目标卷积算子的卷积核的尺寸信息;
在所述尺寸信息满足预设条件,且所述目标卷积算子的输入通道的数量为预设数量,确定所述目标卷积算子的所述卷积为预设结构。
3.根据权利要求2所述的模型转换方法,其特征在于,所述尺寸信息包括数据宽度和数据高度;
所述尺寸信息满足预设条件包括:
所述数据宽度为1,且所述数据高度为n,n为所述目标卷积算子的输入数据的高度;或
所述数据宽度为m,且所述数据高度为1,m为所述目标卷积算子的输入数据的宽度。
4.根据权利要求1至3中任一项所述的模型转换方法,其特征在于,所述基于所述目标卷积算子的算子结构为预设结构,构建目标算子组,包括:
获取所述目标卷积算子的数据计算信息,以及数据维度信息,所述数据维度信息为所述目标卷积算子输入数据和输出数据的维度信息;
根据所述数据计算信息,构建目标等效算子;
根据所述数据维度信息,构建重塑算子;
根据所述重塑算子和所述目标等效算子,构建所述目标算子组。
5.根据权利要求4所述的模型转换方法,其特征在于,所述根据所述数据计算信息,构建目标等效算子,包括:
获取全连接算子;
将所述数据计算信息,配置到所述全连接算子中,得到所述目标等效算子;
其中,所述数据计算信息包括乘离率信息和权重信息。
6.根据权利要求4所述的模型转换方法,其特征在于,所述重塑算子包括:输入重塑算子和输出重塑算子,所述数据维度信息包括数据输入维度和数据输出维度;
所述根据所述数据维度信息,构建重塑算子,包括:
根据所述数据输入维度,配置所述输入重塑算子;
根据所述数据输出维度,配置所述输出重塑算子。
7.根据权利要求6所述的模型转换方法,其特征在于,所述根据所述重塑算子和所述目标等效算子,构建所述目标算子组,包括:
将所述输入重塑算子与所述目标等效算子的数据输入侧相连,以及将所述输出重塑算子与所述目标等效算子的数据输出侧相连,得到所述目标算子组。
8.根据权利要求1至3中任一项所述的模型转换方法,其特征在于,所述将所述第一模型中的目标卷积算子,替换为所述目标算子组,生成目标模型,包括:
将所述目标算子组插入计算图结构中,所述目标算子组在所述计算图结构中的位置与所述目标卷积算子的位置相匹配,所述计算图结构中的图节点与所述第一模型中的算子一一对应;
将所述计算图结构中的所述目标卷积算子删除;
将所述计算图结构转换为所述目标模型。
9.根据权利要求8所述的模型转换方法,其特征在于,所述查找第一模型中的目标卷积算子,包括:
对所述计算图结构进行遍历,查找所述目标卷积算子。
10.根据权利要求1至3中任一项所述的模型转换方法,其特征在于,所述目标卷积算子包括二维卷积算子。
11.根据权利要求1至3中任一项所述的模型转换方法,其特征在于,所述第一模型包括以下任一项:图像分类模型、目标检测模型、语音识别模型。
12.一种模型转换装置,其特征在于,包括:
查找模块,用于查找第一模型中的目标卷积算子;
构建模块,用于基于所述目标卷积算子的算子结构为预设结构,构建目标算子组,所述目标算子组的输出结果与所述目标卷积算子的输出结果相匹配;
生成模块,用于将所述第一模型中的目标卷积算子,替换为所述目标算子组,生成目标模型。
13.一种模型转换装置,其特征在于,包括:
存储器,其上存储有程序或指令;
处理器,用于执行所述程序或指令时实现如权利要求1至11中任一项所述的模型转换方法的步骤。
14.一种计算机程序产品,其特征在于,所述计算机程序产品被处理器执行时实现如权利要求1至11中任一项所述的模型转换方法的步骤。
15.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至11中任一项所述的模型转换方法的步骤。
16.一种电子设备,其特征在于,包括:
如权利要求12或13所述的模型转换装置;或
如权利要求14所述的计算机程序产品;
如权利要求15所述的可读存储介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297330.0A CN116258178B (zh) | 2023-03-24 | 2023-03-24 | 模型转换方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310297330.0A CN116258178B (zh) | 2023-03-24 | 2023-03-24 | 模型转换方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116258178A true CN116258178A (zh) | 2023-06-13 |
CN116258178B CN116258178B (zh) | 2023-09-22 |
Family
ID=86679425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310297330.0A Active CN116258178B (zh) | 2023-03-24 | 2023-03-24 | 模型转换方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258178B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116611479A (zh) * | 2023-07-21 | 2023-08-18 | 美智纵横科技有限责任公司 | 数据处理方法、装置、存储介质及芯片 |
CN116629339A (zh) * | 2023-07-21 | 2023-08-22 | 美智纵横科技有限责任公司 | 模型优化方法、数据处理方法、装置、存储介质及芯片 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200297A (zh) * | 2020-09-04 | 2021-01-08 | 厦门星宸科技有限公司 | 神经网络优化方法、装置及处理器 |
CN113296780A (zh) * | 2020-11-16 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 计算图的处理方法、装置及设备 |
WO2022088063A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 神经网络模型的量化方法和装置、数据处理的方法和装置 |
CN114638345A (zh) * | 2022-03-31 | 2022-06-17 | 广州虎牙科技有限公司 | 针对卷积神经网络的推理方法、系统及计算机设备 |
CN114895920A (zh) * | 2022-05-31 | 2022-08-12 | 苏州浪潮智能科技有限公司 | Transformer网络的算子融合方法及装置 |
CN115357356A (zh) * | 2022-08-10 | 2022-11-18 | 西安邮电大学 | 基于计算图优化的算子间并行调度方法、设备和介质 |
CN115577799A (zh) * | 2022-10-25 | 2023-01-06 | 上海壁仞智能科技有限公司 | 对计算图中的自定义算子进行图优化的方法、设备、介质 |
-
2023
- 2023-03-24 CN CN202310297330.0A patent/CN116258178B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200297A (zh) * | 2020-09-04 | 2021-01-08 | 厦门星宸科技有限公司 | 神经网络优化方法、装置及处理器 |
WO2022088063A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 神经网络模型的量化方法和装置、数据处理的方法和装置 |
CN113296780A (zh) * | 2020-11-16 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 计算图的处理方法、装置及设备 |
CN114638345A (zh) * | 2022-03-31 | 2022-06-17 | 广州虎牙科技有限公司 | 针对卷积神经网络的推理方法、系统及计算机设备 |
CN114895920A (zh) * | 2022-05-31 | 2022-08-12 | 苏州浪潮智能科技有限公司 | Transformer网络的算子融合方法及装置 |
CN115357356A (zh) * | 2022-08-10 | 2022-11-18 | 西安邮电大学 | 基于计算图优化的算子间并行调度方法、设备和介质 |
CN115577799A (zh) * | 2022-10-25 | 2023-01-06 | 上海壁仞智能科技有限公司 | 对计算图中的自定义算子进行图优化的方法、设备、介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116611479A (zh) * | 2023-07-21 | 2023-08-18 | 美智纵横科技有限责任公司 | 数据处理方法、装置、存储介质及芯片 |
CN116629339A (zh) * | 2023-07-21 | 2023-08-22 | 美智纵横科技有限责任公司 | 模型优化方法、数据处理方法、装置、存储介质及芯片 |
CN116611479B (zh) * | 2023-07-21 | 2023-10-03 | 美智纵横科技有限责任公司 | 数据处理方法、装置、存储介质及芯片 |
CN116629339B (zh) * | 2023-07-21 | 2023-10-03 | 美智纵横科技有限责任公司 | 模型优化方法、数据处理方法、装置、存储介质及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN116258178B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116258178B (zh) | 模型转换方法、装置、电子设备和可读存储介质 | |
US11869263B2 (en) | Automated classification and interpretation of life science documents | |
EP4016375A1 (en) | Video classification method, device and system | |
CN116049397B (zh) | 基于多模态融合的敏感信息发现并自动分类分级方法 | |
US20210132990A1 (en) | Operator Operation Scheduling Method and Apparatus | |
JP4774193B2 (ja) | 検査システムセットアップ技術 | |
CN108334805A (zh) | 检测文档阅读顺序的方法和装置 | |
CN110471945B (zh) | 活跃数据的处理方法、系统、计算机设备和存储介质 | |
CN110287104A (zh) | 测试用例生成方法、装置、终端及计算机可读存储介质 | |
US11574491B2 (en) | Automated classification and interpretation of life science documents | |
CN111047563A (zh) | 一种应用于医学超声图像的神经网络构建方法 | |
CN112783786B (zh) | 测试案例的生成方法、装置、设备、介质和程序产品 | |
EP4071616A1 (en) | Method for generating topology diagram, anomaly detection method, device, apparatus, and storage medium | |
CN112527676A (zh) | 模型自动化测试方法、装置及存储介质 | |
CN114429640A (zh) | 图纸分割方法、装置及电子设备 | |
CN113900935A (zh) | 一种缺陷自动识别方法、装置、计算机设备及存储介质 | |
CN116976034A (zh) | 一种基于cad软件的零件库系统 | |
CN116304155A (zh) | 基于二维图片的三维构件检索方法、装置、设备及介质 | |
CN115631374A (zh) | 控件操作方法、控件检测模型的训练方法、装置和设备 | |
CN117253099A (zh) | 影像数据扩增装置以及方法 | |
CN111008140B (zh) | 一种跨平台的ui自动化测试方法及装置 | |
CN114020916A (zh) | 文本分类方法、装置、存储介质和电子设备 | |
CN113704125A (zh) | 基于图形用户界面的黑盒自动化测试方法 | |
CN111382191A (zh) | 一种基于深度学习的机器学习识别方法 | |
CN118349664B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |