CN110276443A - 模型转换一致性验证及分析方法、装置及存储介质 - Google Patents
模型转换一致性验证及分析方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110276443A CN110276443A CN201910456809.8A CN201910456809A CN110276443A CN 110276443 A CN110276443 A CN 110276443A CN 201910456809 A CN201910456809 A CN 201910456809A CN 110276443 A CN110276443 A CN 110276443A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network model
- data
- tensor data
- modified
- 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
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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
技术领域
本发明涉及神经网络模型转换处理技术领域,尤其涉及一种模型转换一致性验证及分析方法、装置及计算机可读存储介质。
背景技术
由于各种深度学习框架的层出不穷,我们在进行算法开发到算法部署的过程中,往往都需要用到不同的框架。例如我们很有可能使用tensorflow,pytorch等进行算法开发和调试,而到了移动端部署阶段,可能会使用feather CNN nihui的NCNN或者mace等框架,这就存在模型转换的问题。
目前,在深度学习领域进行模型部署时,通常会遇到部署工具不支持模型中某些层的问题,要完成模型部署就不得不对这些层进行修改,对模型进行转换,而快速验证模型转换的一致性,并对问题所在节点位置进行定位是目前面临的难点问题,业界还未有成熟的解决方案。
发明内容
本发明提供一种模型转换一致性验证及分析方法、电子装置及计算机可读存储介质,其主要目的在于通过在神经网络模型的关键位置节点设置数据导出接口,以实现对神经网络模型的整体或者分段验证,能够加快问题节点的定位速度。
为实现上述目的,本发明提供一种模型转换一致性验证及分析方法,应用于电子装置,所述方法包括:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
优选地,所述记录对应的数据导出接口所导出的张量数据的步骤包括:
通过数据记录装置记录所述数据导出接口所导出的前向路径Forward path的张量数据,并将各张量数据保存为标准的数据文件;其中,
所述张量数据包括整个神经网络模型的输入端张量数据、输出端张量数据,以及所述神经网络模型内部欲修改层的入端张量数据、出端张量数据。
优选地,所述通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤包括:
将所述待修改的神经网络模型的输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入;
在所述修改后的神经网络模型的输出端记录输出端张量数据;
将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对;
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,表明所述神经网络模型转换的一致性出现问题。
优选地,当所述神经网络模型转换的一致性出现问题时:
缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
优选地,所述方法还包括:
对所述问题节点进行分析和代码修改,并对修改后的神经网络模型进行一致性验证,直至所述神经网络模型转换的一致性得到满足。
此外,为实现上述目的,本发明还提供一种电子装置包括:存储器、处理器及数据记录装置,所述存储器中包括模型转换一致性验证及分析程序,所述模型转换一致性验证及分析程序被所述处理器执行时实现如下步骤:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
优选地,所述记录对应的数据导出接口所导出的张量数据的步骤包括:
通过数据记录装置记录所述数据导出接口所导出的前向路径Forward path的张量数据,并将各张量数据保存为标准的数据文件;其中,
所述张量数据包括整个神经网络模型的输入端张量数据、输出端张量数据,以及所述神经网络模型内部欲修改层的入端张量数据、出端张量数据。
优选地,所述通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤包括:
将所述待修改的神经网络模型的输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入;
在所述修改后的神经网络模型的输出端记录输出端张量数据;
将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对;
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,表明所述神经网络模型转换的一致性出现问题。
优选地,当所述神经网络模型转换的一致性出现问题时:
缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括模型转换一致性验证及分析程序,所述模型转换一致性验证及分析程序被处理器执行时,实现如上所述的模型转换一致性验证及分析方法的步骤。
本发明提出的模型转换一致性验证及分析方法、电子装置及计算机可读存储介质,在神经网络模型的关键节点位置设置数据导出接口,并记录各数据导出接口处的张量数据,通过张量数据实现对神经网络模型的整体或者分段验证,能够加快定位问题节点的速度;此外,通过收集具有代表性的数据(张量数据)即可完成模型转换的一致性验证,可以大大节约开发人员的学习成本,可以让模型部署的工程师脱离模型里隐含的原理、知识进行工作。
附图说明
图1为根据本发明模型转换一致性验证及分析方法具体实施例的应用环境示意图;
图2为图1中模型转换一致性验证及分析程序具体实施例的模块示意图;
图3为修改前的神经网络模型的局部结构示意图;
图4为修改后的神经网络模型的局部结构示意图;
图5为本发明模型转换一致性验证及分析方法具体实施例的流程图;
图6为本发明通过对应的张量数据对神经网络模型的修改进行一致性验证的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种模型转换一致性验证及分析方法,应用于一种电子装置1。参照图1所示,为本发明模型转换一致性验证及分析方法具体实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括:处理器12、存储器11、数据记录装置13、网络接口14及通信总线15。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的模型转换一致性验证及分析程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如模型转换一致性验证及分析程序10等。
数据记录装置13既可以是所述电子装置1的一部分,也可以独立于电子装置1。在一些实施例中,所述电子装置1为智能手机、平板电脑、便携计算机等具有数据记录单元的终端设备,则所述数据记录装置13即为所述电子装置1的数据采集单元。在其他实施例中,所述电子装置1可以为服务器,所述数据采集装置13独立于该电子装置1、与该电子装置1通过网络连接。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线15用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置1还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作***、以及模型转换一致性验证及分析程序10;处理器12执行存储器11中存储的模型转换一致性验证及分析程序10时实现如下步骤:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
其中,关键节点位置的选择通常为整个神经网络模型的输入位置、输出位置,以及内部欲修改层的输入位置和输出位置。欲修改层主要指,在神经网络模型转换过程中,遇到部署工具不支持而必须进行修改的一些层。
数据导出接口的设置原则为:数据导出接口仅作为旁路存在,不影响神经网络模型的前向路径Forward path里的数据内容。
从各数据导出接口所记录的张量数据包括整个神经网络的输入端张量数据、输出端张量数据,以及内部欲修改层的入端张量数据、出端张量数据;且需要将收集到的各张量数据作好对应的位置标记,以供后续验证时根据位置信息来选择性使用。
此外,记录对应的数据导出接口所导出的张量数据的步骤包括:通过数据记录装置记录所述数据导出接口所导出的Forward path的张量数据,并将各张量数据保存为标准的数据文件。换言之,通过数据记录装置记录对应数据导出接口所导出的Forward path的张量数据,并将这些数据保存为标准的数据文件,用作后续验证阶段的Golden data。
优选地,通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤进一步包括:
将所述待修改的神经网络模型(指原神经网络模型或未修改前的神经网络模型,下同)的整体输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入。
然后,在所述修改后的神经网络模型的输出端记录输出端张量数据。
其次,将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对。
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据存在差异时,表明所述神经网络模型转换的一致性出现问题。
进一步地,当神经网络模型转换的一致性出现问题时:缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
例如,将原神经网络模型的预修改层所记录的张量数据从修改后的该层的输入端输入,并在修改后的神经网络模型的输出端记录张量数据,然后将新记录的输出端张量数据与原神经网络模型的输出端所记录的张量数据进行对比测试。如果两者数据不一致,存在差异,表明模型转换出现一致性问题,且问题层在该修改层与神经网络模型的输出端之间。此时,再次缩小验证范围,利用该修改层与整个神经网络模型的输出端之间的中间位置节点的数据进行分段验证,直至定位问题节点的位置。
最后,对已发现的问题节点进行比对分析和代码修改,并再次使用上述模型验证及分析方法进行验证测试,如此反复迭代,直至神经网络模型的输入和输出端的测试一致性得到满足。
以下将结合具体示例对本发明提供的模型转换一致性验证及分析的过程进行详细阐述。
图3示出了修改前的神经网络模型的局部示意结构;图4为修改后的神经网络模型的局部示意结构。
如图3所示,该神经网络模型由一个输入层、n个隐藏层和一个输出层构成。在进行模型转换的过程中发现部署平台不支持隐藏层2和隐藏层4,意味着需要修改隐藏层2和隐藏层4,从而实现模型部署。
为了能够实现快速验证和分析模型转换的一致性,需要执行以下步骤:
第一:在原神经网络模型的结构下,选择整个神经网络模型的输入端和输出端、隐藏层2的输入端和输出端、隐藏层4的输入端和输出端作为关键节点,并在此6个位置设置对应的数据导出接口,并将各数据导出接口收集到的张量数据进行记录,得到张量数据A~F。
第二:根据部署需求,对隐藏层2和隐藏层4进行修改,并得到修改后的新的神经网络模型,如图4所示。为了验证模型转换的一致性,将之前收集到数据记录A从新的神经网络的输入端再次注入,同时在其它各关键节点进行数据记录,并得到5个新的张量数据并记录为张量数据B’~F’。
在验证过程中,首先在新的神经网络模型的输出端口完成数据记录F’与数据记录F的比对,如果二者一致,则说明模型修改一致性良好;否则,需要进一步缩小验证范围,重复上述验证步骤,直至找出不一致的层所在位置。
具体地,当新的神经网络模型的输出端的数据记录F’与数据记录F不一致时,进一步对中间位置隐藏层2的输出端数据C’与数据C进行比对,如果数据C’与数据C相一致,表明修改后的隐藏层2一致性良好,进而可知导致模型转换一致性不良的问题在于隐藏层4,继而对隐藏层4进行分析及代码修改。否则,如果数据C’与数据C不一致,表明隐藏层2的修改存在问题,且隐藏层4的修改是否存在问题仍不可知。
在上述情况下,可采用两种方式对隐藏层4的修改正确与否进行验证。
其一:首先对出现问题的隐藏层2进行分析及代码修改,然后对再次修改后形成的神经网络模型(对应的各数据导出接口的数据分别为B”~F”)进行上述步骤的验证,如果数据记录F”与数据记录F二者一致,则说明模型修改一致;同时,也表明隐藏层4的修改没有问题。
其二:将首次记录的数据D从隐藏层4的输入端输入,在整个神经网络模型的输出端或者隐藏层4的输出端获取对应的记录数据F”或E‘’,通过比较数据记录F”与数据记录F是否一致,或者记录E”与数据记录E是否一致,完成对隐藏层4的修改进行验证,直至找到问题节点位置。
在其他实施例中,模型转换一致性验证及分析程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中模型转换一致性验证及分析程序10较佳实施例的程序模块图。
如图2所示,所述模型转换一致性验证及分析程序10可以被分割为:节点位置确定单元210、数据记录单元220、模型转换单元230、验证分析单元240。所述模块210-240所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
节点位置确定单元210,用于确定神经网络模型的关键节点位置,并在神经网络模型的关键节点位置设置数据导出接口。
数据记录单元220,用于记录对应数据导出接口所导出的张量数据。
模型转换单元230,用于对神经网络模型中需要修改的层进行分析修改。
验证分析单元240用于通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
其中,验证分析单元240进一步包括:
数据输入模块241,用于将原神经网络模型的整体输入端所记录的张量数据从修改后的神经网络模型的输入端输入。
数据输出模块242,用于在修改后的神经网络的输出端记录新的张量数据。
比对模块243,将新记录的张量数据与原神经网络输出端所记录的张量数据进行对比分析。
判断模块244,当新记录的张量数据与原神经网络输出端所记录的张量数据一致时,表明模型转换一致性良好。否则,缩小验证范围,利用中间位置节点的数据进行分段验证,直至定位问题节点的位置。
此外,本发明还提供一种模型转换一致性验证及分析方法。参照图5所示,为本发明模型转换一致性验证及分析方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,模型转换一致性验证及分析方法包括:
S110:确定待修改的神经网络模型。
S120:在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据。
其中,关键节点位置的选择通常为整个神经网络模型的输入位置、输出位置,以及内部欲修改层的输入位置和输出位置。欲修改层主要指,在神经网络模型转换过程中,遇到部署工具不支持而必须进行修改的一些层。
数据导出接口的设置原则为:数据导出接口仅作为旁路存在,不影响神经网络模型的前向路径Forward path里的数据内容。
从各数据导出接口所记录的张量数据包括整个神经网络的输入端张量数据、输出端张量数据,以及内部欲修改层的入端张量数据、出端张量数据;且需要将收集到的各张量数据作好对应的位置标记,以供后续验证时根据位置信息来选择性使用。
此外,记录对应的数据导出接口所导出的张量数据的步骤包括:通过数据记录装置记录所述数据导出接口所导出的Forward path的张量数据,并将各张量数据保存为标准的数据文件。换言之,通过数据记录装置记录对应数据导出接口所导出的Forward path的张量数据,并将这些数据保存为标准的数据文件,用作后续验证阶段的Golden data。
S130:对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
如图6所示,通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤进一步包括:
S121:将所述待修改的神经网络模型(指原神经网络模型或未修改前的神经网络模型,下同)的整体输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入。
S122:在所述修改后的神经网络模型的输出端记录输出端张量数据。
S123:将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对。
S124:当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据存在差异时,表明所述神经网络模型转换的一致性出现问题。
进一步地,当神经网络模型转换的一致性出现问题时:缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
例如,将原神经网络模型的预修改层所记录的张量数据从修改后的该层的输入端输入,并在修改后的神经网络模型的输出端记录张量数据,然后将新记录的输出端张量数据与原神经网络模型的输出端所记录的张量数据进行对比测试。如果两者数据不一致,存在差异,表明模型转换出现一致性问题,且问题层在该修改层与神经网络模型的输出端之间。此时,再次缩小验证范围,利用该修改层与整个神经网络模型的输出端之间的中间位置节点的数据进行分段验证,直至定位问题节点的位置。
最后,对已发现的问题节点进行比对分析和代码修改,并再次使用上述模型验证及分析方法进行验证测试,如此反复迭代,直至神经网络模型的输入和输出端的测试一致性得到满足。
以下将结合具体示例对本发明提供的模型转换一致性验证及分析的过程进行详细阐述。
如图3所示,该神经网络模型由一个输入层、n个隐藏层和一个输出层构成。在进行模型转换的过程中发现部署平台不支持隐藏层2和隐藏层4,意味着需要修改隐藏层2和隐藏层4,从而实现模型部署。
为了能够实现快速验证和分析模型转换的一致性,需要执行以下步骤:
第一:在原神经网络模型的结构下,选择整个神经网络模型的输入端和输出端、隐藏层2的输入端和输出端、隐藏层4的输入端和输出端作为关键节点,并在此6个位置设置对应的数据导出接口,并将各数据导出接口收集到的张量数据进行记录,得到张量数据A~F。
第二:根据部署需求,对隐藏层2和隐藏层4进行修改,并得到修改后的新的神经网络模型,如图4所示。为了验证模型转换的一致性,将之前收集到数据记录A从新的神经网络的输入端再次注入,同时在其它各关键节点进行数据记录,并得到5个新的张量数据并记录为张量数据B’~F’。
在验证过程中,首先在新的神经网络模型的输出端口完成数据记录F’与数据记录F的比对,如果二者一致,则说明模型修改一致性良好;否则,需要进一步缩小验证范围,重复上述验证步骤,直至找出不一致的层所在位置。
具体地,当新的神经网络模型的输出端的数据记录F’与数据记录F不一致时,进一步对中间位置隐藏层2的输出端数据C’与数据C进行比对,如果数据C’与数据C相一致,表明修改后的隐藏层2一致性良好,进而可知导致模型转换一致性不良的问题在于隐藏层4,继而对隐藏层4进行分析及代码修改。否则,如果数据C’与数据C不一致,表明隐藏层2的修改存在问题,且隐藏层4的修改是否存在问题仍不可知。
在上述情况下,可采用两种方式对隐藏层4的修改正确与否进行验证。
其一:首先对出现问题的隐藏层2进行分析及代码修改,然后对再次修改后形成的神经网络模型(对应的各数据导出接口的数据分别为B”~F”)进行上述步骤的验证,如果数据记录F”与数据记录F二者一致,则说明模型修改一致;同时,也表明隐藏层4的修改没有问题。
其二:将首次记录的数据D从隐藏层4的输入端输入,在整个神经网络模型的输出端或者隐藏层4的输出端获取对应的记录数据F”或E‘’,通过比较数据记录F”与数据记录F是否一致,或者记录E”与数据记录E是否一致,完成对隐藏层4的修改进行验证,直至找到问题节点位置。
上述根据本发明的模型转换一致性验证及分析方法,上述模型转换一致性验证及分析方法,以测试驱动的验证方案,具有客观性;以数据驱动的验证方案,可以大大节省开发人员的学习成本,让模型部署的工程师脱离模型里隐含的原理和知识进行工作;此外,可以实现分段验证,能够更加快速地定位问题节点位置;方法具有普适性,可应用于所有人工神经网络的模型转换过程。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括模型转换一致性验证及分析程序,所述模型转换一致性验证及分析程序被处理器执行时实现如下操作:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
优选地,所述记录对应的数据导出接口所导出的张量数据的步骤包括:
通过数据记录装置记录所述数据导出接口所导出的前向路径Forward path的张量数据,并将各张量数据保存为标准的数据文件;其中,
所述张量数据包括整个神经网络模型的输入端张量数据、输出端张量数据,以及所述神经网络模型内部欲修改层的入端张量数据、出端张量数据。
优选地,所述通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤包括:
将所述待修改的神经网络模型的输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入;
在所述修改后的神经网络模型的输出端记录输出端张量数据;
将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对;
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,表明所述神经网络模型转换的一致性出现问题。
优选地,当所述神经网络模型转换的一致性出现问题时:
缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
优选地,所述方法还包括:
对所述问题节点进行分析和代码修改,并对修改后的神经网络模型进行一致性验证,直至所述神经网络模型转换的一致性得到满足。
本发明之计算机可读存储介质的具体实施方式与上述模型转换一致性验证及分析方法、电子装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种模型转换一致性验证及分析方法,应用于电子装置,其特征在于,所述方法包括:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
2.根据权利要求1所述的模型转换一致性验证及分析方法,其特征在于,所述记录对应的数据导出接口所导出的张量数据的步骤包括:
通过数据记录装置记录所述数据导出接口所导出的前向路径Forward path的张量数据,并将各张量数据保存为标准的数据文件;其中,
所述张量数据包括整个神经网络模型的输入端张量数据、输出端张量数据,以及所述神经网络模型内部欲修改层的入端张量数据、出端张量数据。
3.根据权利要求1所述的模型转换一致性验证及分析方法,其特征在于,所述通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤包括:
将所述待修改的神经网络模型的输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入;
在所述修改后的神经网络模型的输出端记录输出端张量数据;
将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对;
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,表明所述神经网络模型转换的一致性出现问题。
4.根据权利要求3所述的模型转换一致性验证及分析方法,其特征在于,当所述神经网络模型转换的一致性出现问题时:
缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
5.根据权利要求4所述的模型转换一致性验证及分析方法,其特征在于,所述方法还包括:
对所述问题节点进行分析和代码修改,并对修改后的神经网络模型进行一致性验证,直至所述神经网络模型转换的一致性得到满足。
6.一种电子装置,其特征在于,该电子装置包括:存储器、处理器及数据记录装置,所述存储器中包括模型转换一致性验证及分析程序,所述模型转换一致性验证及分析程序被所述处理器执行时实现如下步骤:
确定待修改的神经网络模型;
在所述待修改的神经网络模型的关键节点位置设置数据导出接口,并记录所述数据导出接口所导出的张量数据;
对所述神经网络模型中需要修改的层进行分析修改,并通过对应的张量数据对所述神经网络模型的修改进行一致性验证。
7.根据权利要求6所述的电子装置,其特征在于,所述记录对应的数据导出接口所导出的张量数据的步骤包括:
通过数据记录装置记录所述数据导出接口所导出的前向路径Forward path的张量数据,并将各张量数据保存为标准的数据文件;其中,
所述张量数据包括整个神经网络模型的输入端张量数据、输出端张量数据,以及所述神经网络模型内部欲修改层的入端张量数据、出端张量数据。
8.根据权利要求6所述的电子装置,其特征在于,所述通过对应的张量数据对神经网络模型的修改进行一致性验证的步骤包括:
将所述待修改的神经网络模型的输入端所记录的输入端张量数据从修改后的神经网络模型的输入端输入;
在所述修改后的神经网络模型的输出端记录输出端张量数据;
将所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据进行比对;
当所述修改后的神经网络模型的输出端张量数据与所述待修改的神经网络模型的输出端张量数据相同时,表明所述神经网路模型转换的一致性良好;否则,表明所述神经网络模型转换的一致性出现问题。
9.根据权利要求8所述的电子装置,其特征在于,当所述神经网络模型转换的一致性出现问题时:
缩小所述张量数据的验证范围,利用所述神经网络模型的中间层位置节点的张量数据进行分段验证,直至定位问题节点位置。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括模型转换一致性验证及分析程序,所述模型转换一致性验证及分析程序被处理器执行时,实现如权利要求1至5中任一项所述的模型转换一致性验证及分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910456809.8A CN110276443A (zh) | 2019-05-29 | 2019-05-29 | 模型转换一致性验证及分析方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910456809.8A CN110276443A (zh) | 2019-05-29 | 2019-05-29 | 模型转换一致性验证及分析方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110276443A true CN110276443A (zh) | 2019-09-24 |
Family
ID=67959130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910456809.8A Pending CN110276443A (zh) | 2019-05-29 | 2019-05-29 | 模型转换一致性验证及分析方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276443A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127058A (zh) * | 2021-04-28 | 2021-07-16 | 北京百度网讯科技有限公司 | 数据标注方法、相关装置及计算机程序产品 |
CN115187821A (zh) * | 2022-07-05 | 2022-10-14 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673198A (zh) * | 2009-03-06 | 2010-03-17 | 华东师范大学 | 一种验证uml模型中动态行为与时序契约的一致性的方法 |
CN105446883A (zh) * | 2015-12-08 | 2016-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于数据配置工具的模型验证分析方法 |
CN108229651A (zh) * | 2017-11-28 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型迁移方法和***、电子设备、程序和介质 |
CN109389136A (zh) * | 2017-08-08 | 2019-02-26 | 上海为森车载传感技术有限公司 | 分类器训练方法 |
US20190139179A1 (en) * | 2017-11-03 | 2019-05-09 | Baidu Usa Llc | Systems and methods for unsupervised learning of geometry from images using depth-normal consistency |
-
2019
- 2019-05-29 CN CN201910456809.8A patent/CN110276443A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673198A (zh) * | 2009-03-06 | 2010-03-17 | 华东师范大学 | 一种验证uml模型中动态行为与时序契约的一致性的方法 |
CN105446883A (zh) * | 2015-12-08 | 2016-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于数据配置工具的模型验证分析方法 |
CN109389136A (zh) * | 2017-08-08 | 2019-02-26 | 上海为森车载传感技术有限公司 | 分类器训练方法 |
US20190139179A1 (en) * | 2017-11-03 | 2019-05-09 | Baidu Usa Llc | Systems and methods for unsupervised learning of geometry from images using depth-normal consistency |
CN108229651A (zh) * | 2017-11-28 | 2018-06-29 | 北京市商汤科技开发有限公司 | 神经网络模型迁移方法和***、电子设备、程序和介质 |
Non-Patent Citations (2)
Title |
---|
JASONAIDM: "深度学习模型转换", pages 1 - 22, Retrieved from the Internet <URL:https://blog.csdn.net/jasonaidm/article/details/90522615?spm=1001.2014.3001.5502> * |
张志超 等: "一种基于神经网络的SQL注入漏洞的检测模型", 计算机与现代化, no. 10, pages 67 - 71 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127058A (zh) * | 2021-04-28 | 2021-07-16 | 北京百度网讯科技有限公司 | 数据标注方法、相关装置及计算机程序产品 |
CN113127058B (zh) * | 2021-04-28 | 2024-01-16 | 北京百度网讯科技有限公司 | 数据标注方法、相关装置及计算机程序产品 |
CN115187821A (zh) * | 2022-07-05 | 2022-10-14 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
CN115187821B (zh) * | 2022-07-05 | 2024-03-22 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739766B (zh) | 一种快速搭建fpga数字仿真模型的***及方法 | |
CN105224462B (zh) | 控件元素的识别方法和装置 | |
CN108491326B (zh) | 测试行为重组方法、装置及存储介质 | |
WO2017165071A1 (en) | Visual regression analysis | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
RU2009122177A (ru) | Медиа-процессор для организации мультимедийных данных | |
CN109840206A (zh) | 数据测试方法、装置、终端及存储介质 | |
CN105468797B (zh) | 一种信息处理方法及装置 | |
CN107451112B (zh) | 表格工具数据检查方法、装置、终端设备及存储介质 | |
CN106293074A (zh) | 一种情绪识别方法和移动终端 | |
CN107480327A (zh) | 一种仿真验证方法、装置和电子设备 | |
CN107480369B (zh) | 一种pcb设计中分类显示drc的设计、操作方法 | |
US20200327043A1 (en) | System and a method for automated script generation for application testing | |
CN102760096A (zh) | 测试用数据的生成方法、单元测试方法以及单元测试*** | |
CN105869635A (zh) | 一种语音识别方法及*** | |
CN110276443A (zh) | 模型转换一致性验证及分析方法、装置及存储介质 | |
CN106484771B (zh) | 差异信息文件生成及应用方法、装置 | |
TWI476587B (zh) | 測試電子裝置之功能的測試方法以及測試裝置 | |
CN105740561A (zh) | 物料清单的查验方法及*** | |
CN103049374B (zh) | 一种自动化测试的方法及装置 | |
CN106201865A (zh) | 一种应用程序编程接口api测试方法、装置及终端设备 | |
US7111275B2 (en) | Electronic circuit design analysis system | |
CN112597718B (zh) | 集成电路设计的验证方法、验证装置以及存储介质 | |
CN110235108A (zh) | 一种贴片程序检查方法,终端设备及计算机可读存储介质 | |
CN101673200B (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 |