CN113065665A - 一种模型算子对比方法、系统及存储介质 - Google Patents
一种模型算子对比方法、系统及存储介质 Download PDFInfo
- Publication number
- CN113065665A CN113065665A CN202110239439.XA CN202110239439A CN113065665A CN 113065665 A CN113065665 A CN 113065665A CN 202110239439 A CN202110239439 A CN 202110239439A CN 113065665 A CN113065665 A CN 113065665A
- Authority
- CN
- China
- Prior art keywords
- model
- operator
- type
- source
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 5
- 239000000463 material Substances 0.000 abstract description 2
- 238000013136 deep learning model Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种模型算子对比方法,包括如下步骤:第一步,获取源模型,源模型包括路径和网络结构定义文件;第二步,判断源模型的类型,得到所述源模型类型;第三步,基于源模型类型、路径和网络结构定义文件,解析得到源模型的第一算子;第四步,获取目标模型,读取支持转换到目标模型的第二算子;将第二算子与第一算子进行对比,若第一算子中存在第三算子,所述第三算子不包含于第二算子,则提示第三算子不支持转换到目标模型;若不存在第三算子,则提示支持源模型转换到目标模型;通过上述方式,本发明实现了自动进行模型算子对比,节约了模型转换时算子对比的人力物力。
Description
技术领域
本发明涉及深度学习技术领域,特别是涉及一种模型算子对比方法、系统及存储介质。
背景技术
目前主流的深度学习模型框架种类很多,如TensorFlow、PyTorch、Caffe、ONNX和TensorRT,每个深度学习模型框架支持的算子都不尽相同,此时就需要找出不支持转换到目标模型框架的算子,现有技术是手动进行模型算子的对比;由于实际应用中要转换的模型框架含有的算子往往成百上千,现有技术的缺陷明显,对于研发人员而言非常费时费力,并且容易遗漏和出错。
发明内容
本发明主要解决的技术问题是提供一种模型算子对比方法、系统及存储介质,能够解决逐一对比算子需耗费较多的人力物力的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种模型算子对比方法,包括如下步骤:
获取源模型,所述源模型包括路径和网络结构定义文件;
判断源模型类型,得到所述源模型类型;
基于所述源模型类型、所述路径和所述网络结构定义文件,解析得到所述源模型的第一算子;
获取目标模型,读取支持转换到所述目标模型的第二算子;将所述第二算子与所述第一算子进行对比,若所述第一算子中存在第三算子,所述第三算子不包含于所述第二算子,则提示所述第三算子不支持转换到所述目标模型;若不存在所述第三算子,则提示支持所述源模型转换到所述目标模型。
作为一种改进方案,判断源模型类型,得到所述源模型类型步骤进一步包括:
获取所述源模型的模型后缀,根据所述模型后缀判断源模型类型;
根据所述源模型类型执行模型加载的操作;如果加载成功,则输出所述源模型类型;如果加载失败,则提示所述源模型类型判断错误。
进一步具体地,每个所述源模型类型具有若干所述模型后缀。
作为一种改进方案,所述解析得到所述源模型的第一算子步骤进一步包括:
给所述源模型设置输入,使所述源模型进行前向传播,得到计算图;
遍历所述计算图,得到并输出所述第一算子。
作为一种改进方案,所述遍历所述计算图步骤进一步包括:
通过反向传播遍历所述计算图。
作为一种改进方案,所述读取支持转换到所述目标模型的第二算子的步骤进一步包括:
将支持转换到所述目标模型的第二算子按类型分别进行存储。
进一步具体地,对支持转换到所述目标模型的所述第二算子按类型分别进行更新。
本发明还提供一种模型算子对比系统,所述模型算子对比系统包括:类型判断模块、模型解析模块和算子对比模块;
所述类型判断模块用于获取源模型和模型后缀,根据所述模型后缀和模型加载操作判断输入模型的类型,并将得到的模型类型输出到所述模型解析模块;
所述模型解析模块:用于接收所述模型类型;根据所述模型类型对所述输入模型进行解析,得到所述输入模型的第一算子,并将所述第一算子输出到所述算子对比模块;
所述算子对比模块用于接收所述第一算子;获取目标模型,根据所述目标模型类型读取支持转换到所述目标模型的第二算子;将所述第一算子与读取的所述第二算子进行对比,得到所述第一算子中不支持转换到所述目标模型的第三算子。
优选地,所述系统还包括更新维护模块;
所述更新维护模块用于对支持转换到所述目标模型的所述第二算子进行更新和维护,输出新增加的所述第二算子以及删除的所述第二算子作为提示。
本发明还提供一种计算机存储介质,用于储存为上述模型算子对比方法所用的计算机软件指令,其包含用于执行上述为模型算子对比方法所设计的程序。
本发明的有益效果是:
1、本发明所述的模型算子对比方法,通过自动解析输入模型的算子,并将其与支持转换到目标模型的算子对比,解决了逐一对比算子需要耗费大量人力物力的问题。
2、本发明所述的模型算子对比系统,通过引入模型解析模块和算子对比模块,使算子对比更加简便。
3、本发明所述的模型算子对比存储介质,通过执行上述的模型算子对比方法,实现了自动进行模型算子对比。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将具体实施方式或现有技术描述中所需要使用的附图作简单地介绍;在所有附图中,类似的元件或部分一般由类似的附图标记标识;附图中,各元件或部分并不一定按照实际比例绘制。
图1是本发明实施例1所述的模型算子对比方法流程图;
图2是本发明实施例2所述的模型算子对比系统示意图。
附图中各部件的标记如下:
1-类型判断模块,2-模型解析模块,3-算子对比模块,4-更新维护模块,100-模型算子对比系统。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,如ONNX(Open Neural Network Exchange)是开放神经网络交换,TensorFlow是一个基于数据流编程的符号数学系统,PyTorch是一个开源的Python机器学习库,TensorRT是一个高性能的深度学习推理优化器,TVM是一个深度学习模型的优化编译器。
在本发明的描述中,需要说明的是,如第一算子至第三算子等只表示标识,不表示优劣和是否是相同的模块。
实施例1
本实施例1提供一种模型算子对比方法,如图1所示,包括如下步骤:
在S10步骤中,将输入的模型作为源模型,其中包括路径和网络结构定义文件;
在S20步骤中,判断源模型是否存在;若存在,则返回true;若不存在,则返回false,并退出程序;对源模型类型进行判断,以模型后缀作为判断准则,模型后缀是模型文件的后缀;比如,如果模型后缀为ckpt或者pb或者saved_model,则判断源模型类型为TensorFlow模型,如果模型后缀为pt或者pth或者pth.tar,则判断源模型类型为PyTorch模型;由于简单的以文件后缀作为标准,并不能表示源模型一定是一个正常可用的模型,所以当得到所述源模型类型之后,执行模型加载的操作;如果加载成功,则输出所述源模型类型;如果加载失败,则提示所述源模型类型判断错误;本实施例中模型后缀为pth.tar,则输出模型类型为PyTorch模型。
在S30步骤中,在对模型类型做出判断之后,将源模型类型、路径以及源模型的网络结构定义文件一并输入,解析得到源模型的第一算子;
进一步具体地,所述解析得到源模型的第一算子,给源模型设置一个随机输入,然后加载源模型,使源模型进行前向传播,得到计算图;利用反向传播机制遍历计算图,得到第一算子名称,输出第一算子名称到下一步骤。
在S40步骤中,输入ONNX模型为目标模型类型,读取支持转换到ONNX模型的第二算子名称,与S200步骤输出的第一算子名称进行对比,若所述第一算子中存在不包含于所述第二算子的第三算子,则提示所述第三算子不支持转换到所述目标模型;若不存在所述第三算子,则提示支持所述源模型转换到所述目标模型;本实施例输出[slice,resize],表示目前不支持slice算子和resize算子转换到ONNX模型,提醒模型转换需要支持这两种算子;
进一步具体地,将支持转换到目标模型的第二算子输出,目标模型包括ONNX,TensorRT,TVM等;以文件的形式分别将目标模型支持的第二算子进行存储,便于后续对比时进行读取。
进一步具体地,定期对支持转换到目标模型的第二算子进行更新和维护;更新策略采取每两个月更新一次,监测目标模型官网是否有更新;如果存在更新,则获取最新版本支持的第二算子,替换原支持的第二算子,并对比原支持的第二算子,输出新增加的第二算子和删除的第二算子作为提示;如果没有更新,则提示不需要更新。
实施例2
本实施例2提供一种模型算子对比系统,如图2所示,所述模型算子对比系统100包括:类型判断模块1、模型解析模块2、算子对比模块3和更新维护模块4;
所述类型判断模块1用于根据模型后缀和模型加载操作判断输入模型的类型,并将得到的模型类型输出到所述模型解析模块2,便于对输入模型进行解析;
所述模型解析模块2用于接收所述模型类型,根据所述模型类型和反向传播机制对所述输入模型进行解析,得到所述输入模型的第一算子,并将所述第一算子输出到所述算子对比模块3,便于进行算子对比;
所述算子对比模块3用于接收所述第一算子和目标模型类型,根据所述目标模型类型读取支持转换到目标模型的第二算子,将所述第一算子与读取的所述第二算子进行对比,得到所述第一算子中不支持转换到所述目标模型的第三算子;若所述第三算子不存在,则提示可以进行模型转换;
所述更新维护模块4用于定期对支持转换到所述目标模型的所述第二算子进行更新和维护,输出新增加的所述第二算子以及删除的所述第二算子作为提示,保证所述算子对比系统100具有最佳的使用价值。
实施例3
本实施例3提供一种计算机可读存储介质,所述存储介质用于储存将上述实施例1所述模型算子对比方法实现所用的计算机软件指令,其包含用于执行上述为模型算子对比方法所设计的程序;具体地,该可执行程序可以内置在模型算子对比系统100中,这样,模型算子对比系统100就可以通过执行内置的可执行程序实现所述实施例1的模型算子对比方法。
此外,本实施例提供的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
上述实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种模型算子对比方法,其特征在于,包括如下步骤:
获取源模型,所述源模型包括路径和网络结构定义文件;
判断源模型类型,得到所述源模型类型;
基于所述源模型类型、所述路径和所述网络结构定义文件,解析得到所述源模型的第一算子;
获取目标模型,读取支持转换到所述目标模型的第二算子;将所述第二算子与所述第一算子进行对比,若所述第一算子中存在第三算子,所述第三算子不包含于所述第二算子,则提示所述第三算子不支持转换到所述目标模型;若不存在所述第三算子,则提示支持所述源模型转换到所述目标模型。
2.根据权利要求1所述的模型算子对比方法,其特征在于,所述判断源模型类型,得到所述源模型类型步骤进一步包括:
获取所述源模型的模型后缀,根据所述模型后缀判断源模型类型;
根据所述源模型类型执行模型加载的操作;如果加载成功,则输出所述源模型类型;如果加载失败,则提示所述源模型类型判断错误。
3.根据权利要求2所述的模型算子对比方法,其特征在于,每个所述源模型类型具有若干所述模型后缀。
4.根据权利要求1所述的模型算子对比方法,其特征在于,所述解析得到所述源模型的第一算子步骤进一步包括:
给所述源模型设置输入,使所述源模型进行前向传播,得到计算图;
遍历所述计算图,得到并输出所述第一算子。
5.根据权利要求4所述的模型算子对比方法,其特征在于,所述遍历所述计算图步骤进一步包括:
通过反向传播遍历所述计算图。
6.根据权利要求1所述的模型算子对比方法,其特征在于,所述读取支持转换到所述目标模型的第二算子的步骤进一步包括:
将支持转换到所述目标模型的第二算子按类型分别进行存储。
7.根据权利要求5所述的模型算子对比方法,其特征在于:对支持转换到所述目标模型的所述第二算子按类型分别进行更新。
8.一种模型算子对比系统,其特征在于,包括:类型判断模块、模型解析模块和算子对比模块;
所述类型判断模块用于获取源模型和模型后缀,根据所述模型后缀和模型加载操作判断输入模型的类型,并将得到的模型类型输出到所述模型解析模块;
所述模型解析模块用于接收所述模型类型,根据所述模型类型对所述输入模型进行解析,得到所述输入模型的第一算子,并将所述第一算子输出到所述算子对比模块;
所述算子对比模块用于接收所述第一算子;获取目标模型,根据所述目标模型类型读取支持转换到所述目标模型的第二算子,将所述第一算子与读取的所述第二算子进行对比,得到所述第一算子中不支持转换到所述目标模型的第三算子。
9.根据权利要求8所述的模型算子对比系统,其特征在于,所述系统还包括更新维护模块;
所述更新维护模块用于对支持转换到所述目标模型的所述第二算子进行更新和维护,输出新增加的所述第二算子以及删除的所述第二算子作为提示。
10.一种计算机存储介质,其特征在于,用于储存为上述权利要求1-7中任一项所述的模型算子对比方法所用的计算机软件指令,其包含用于执行上述为模型算子对比方法所设计的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239439.XA CN113065665A (zh) | 2021-03-04 | 2021-03-04 | 一种模型算子对比方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110239439.XA CN113065665A (zh) | 2021-03-04 | 2021-03-04 | 一种模型算子对比方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113065665A true CN113065665A (zh) | 2021-07-02 |
Family
ID=76559759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110239439.XA Pending CN113065665A (zh) | 2021-03-04 | 2021-03-04 | 一种模型算子对比方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065665A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660049A (zh) * | 2022-11-02 | 2023-01-31 | 北京百度网讯科技有限公司 | 模型处理方法、装置、电子设备以及存储介质 |
CN116362316A (zh) * | 2023-05-29 | 2023-06-30 | 成都阿加犀智能科技有限公司 | 一种模型转换方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491784A (zh) * | 2018-10-18 | 2019-03-19 | 北京旷视科技有限公司 | 降低内存占用量的方法、装置、电子设备、可读存储介质 |
CN110689115A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 神经网络模型处理方法、装置、计算机设备及存储介质 |
CN110891021A (zh) * | 2018-09-11 | 2020-03-17 | 中兴通讯股份有限公司 | 一种路径计算方法、装置及计算机可读存储介质 |
CN111428866A (zh) * | 2020-06-10 | 2020-07-17 | 成都晓多科技有限公司 | 一种增量学习方法、装置、存储介质及电子设备 |
CN111753948A (zh) * | 2020-06-23 | 2020-10-09 | 展讯通信(上海)有限公司 | 模型处理方法及相关设备 |
CN112328674A (zh) * | 2020-11-17 | 2021-02-05 | 深圳力维智联技术有限公司 | 跨数据格式的模型转化加速方法及装置 |
-
2021
- 2021-03-04 CN CN202110239439.XA patent/CN113065665A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110891021A (zh) * | 2018-09-11 | 2020-03-17 | 中兴通讯股份有限公司 | 一种路径计算方法、装置及计算机可读存储介质 |
CN109491784A (zh) * | 2018-10-18 | 2019-03-19 | 北京旷视科技有限公司 | 降低内存占用量的方法、装置、电子设备、可读存储介质 |
CN110689115A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 神经网络模型处理方法、装置、计算机设备及存储介质 |
CN111428866A (zh) * | 2020-06-10 | 2020-07-17 | 成都晓多科技有限公司 | 一种增量学习方法、装置、存储介质及电子设备 |
CN111753948A (zh) * | 2020-06-23 | 2020-10-09 | 展讯通信(上海)有限公司 | 模型处理方法及相关设备 |
CN112328674A (zh) * | 2020-11-17 | 2021-02-05 | 深圳力维智联技术有限公司 | 跨数据格式的模型转化加速方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660049A (zh) * | 2022-11-02 | 2023-01-31 | 北京百度网讯科技有限公司 | 模型处理方法、装置、电子设备以及存储介质 |
CN115660049B (zh) * | 2022-11-02 | 2023-07-25 | 北京百度网讯科技有限公司 | 模型处理方法、装置、电子设备以及存储介质 |
CN116362316A (zh) * | 2023-05-29 | 2023-06-30 | 成都阿加犀智能科技有限公司 | 一种模型转换方法、装置、存储介质及电子设备 |
CN116362316B (zh) * | 2023-05-29 | 2023-12-12 | 成都阿加犀智能科技有限公司 | 一种模型转换方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113065665A (zh) | 一种模型算子对比方法、系统及存储介质 | |
US8943493B2 (en) | Automation of application deployment | |
CN108595342B (zh) | 单元测试方法和装置 | |
US11651272B2 (en) | Machine-learning-facilitated conversion of database systems | |
WO2019056540A1 (zh) | 测试用例自动化管理方法、装置、设备及存储介质 | |
CN109189750A (zh) | 数据分析工作流的运行方法、数据分析系统及存储介质 | |
CN113420849B (zh) | 基于主动学习的模型在线增量训练方法、设备及介质 | |
US10169002B2 (en) | Automated and heuristically managed solution to quantify CPU and path length cost of instructions added, changed or removed by a service team | |
CN110377471B (zh) | 接口校验数据的生成方法、装置、存储介质及电子设备 | |
CN113688045B (zh) | 一种二进制接口兼容性自动检查方法及装置 | |
US20210012219A1 (en) | Dynamic generation of rule and logic statements | |
US8266180B2 (en) | Validation of database schema upgrades using a data differencing tool | |
CN113377431A (zh) | 一种代码处理方法、装置、设备及介质 | |
CN115661160A (zh) | 一种面板缺陷检测方法及系统及装置及介质 | |
CN110780910A (zh) | 下位机软件更新方法及系统、计算机可读存储介质 | |
CN112631925B (zh) | 一种单变量原子违背缺陷的检测方法 | |
CN113672517A (zh) | 一种代码检查方法、装置、电子设备和介质 | |
CN112860548A (zh) | 代码自动检测方法、装置、电子设备及存储介质 | |
WO2024092898A1 (zh) | 试验流程解析方法、装置、电子设备及存储介质 | |
CN107292175A (zh) | 服务器设备安全管理方法及装置 | |
CN106600149B (zh) | 流程解析方法及装置 | |
CN104317708B (zh) | 基于迭代的区间运算的软件测试用例自动生成方法及系统 | |
CN112148588B (zh) | 一种自动化测试的对象资源的自动分析方法及测试工具 | |
CN114036054A (zh) | 代码质量评价方法、装置、设备、介质和程序产品 | |
Cavezza et al. | Performance of defect prediction in rapidly evolving software |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210702 |