神经网络模型的测试方法、装置和电子设备制造方法及图纸

技术编号:29048034 阅读:36 留言:0更新日期:2021-06-26 06:06
本公开实施例公开了神经网络模型的测试方法、装置和电子设备。该方法的一具体实施方式包括:获取待测试神经网络模型的结构信息;基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息;根据所述运算操作的信息确定所述待测试神经网络模型的前向传播耗时。可以得到待测试神经网络模型前向传播耗时的较稳定的测试结果。耗时的较稳定的测试结果。耗时的较稳定的测试结果。

【技术实现步骤摘要】
神经网络模型的测试方法、装置和电子设备


[0001]本公开涉及计算机
,尤其涉及一种神经网络模型的测试方法、装置和电子设备。

技术介绍

[0002]随着人工智能技术的发展,人们可以使用神经网络实现各种模型进行信息预测和信息识别。
[0003]在使用神经网络搭建了算法实例之后,可以对神经网络进行测试。例如对神经网络的前向传播时间进行测试,以根据前向传播时间确定神经网络是否达到要求。

技术实现思路

[0004]提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0005]本公开实施例提供了一种神经网络模型的测试方法、装置和电子设备。
[0006]第一方面,本公开实施例提供了一种神经网络模型的测试方法,该方法包括:获取待测试神经网络模型的结构信息;基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息;根据所述运算操作的信息确定所述待测试神经网络模型的前向传播耗时。
[0007]第二方面,本公开实施例提供了一种神经网络模型的测试装置,该装置包括:获取单元,用于获取待测试神经网络模型的结构信息;第一确定单元,用于基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息;第二确定单元,用于根据所述运算操作的信息确定所述神经网络模型的前向传播耗时。
[0008]第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的神经网络模型的测试方法。
[0009]第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的神经网络模型的测试方法的步骤。
[0010]本公开实施例提供的神经网络模型的测试方法、装置和电子设备,通过获取待测试神经网络模型的结构信息;基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息;根据所述运算操作的信息确定所述待测试神经网络模型的前向传播耗时,实现了使用运行待测试神经网络模型所需的运算操作的运算量来预估待测试神经网络模型的前向传播耗时,从而在对神经网络模型进行前向传播耗时测试时,不会根据设备的处理器的不同而得到不同的耗时测试结果,可以得到待测试神经网络模型前向传播耗时的较稳定的测试结果。
附图说明
[0011]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0012]图1是根据本公开的神经网络模型的测试方法的一个实施例的流程图;
[0013]图2是根据本公开的神经网络模型的测试方法的另一个实施例的流程图;
[0014]图3是根据本公开的神经网络模型的测试装置的一个实施例的结构示意图;
[0015]图4是本公开的一个实施例的神经网络模型的测试方法可以应用于其中的示例性系统架构;
[0016]图5是根据本公开实施例提供的电子设备的基本结构的示意图。
具体实施方式
[0017]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0018]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0019]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0020]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0021]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0022]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0023]一种相关技术中对神经网络前向传播时间测试的方法,包括将神经网络部署完成后,运行网络前向推理,多次测量取平均值来获得神经网络的前向推理时间。这种方式适合对数量较少的神经网络模型进行测试。对于神经网络数量比较多的场景,上述方案无法使用。例如在网络结构搜索应用场景中,目的是搜索一个满足延时限制条件下的最优网络结构,需要频繁地各神经网络的前向传播时间。如果在移动端下进行测试,需要频繁地进行神经网络模型转换,转换到移动端推理引擎支持的格式,部署到移动端,多次前向传播的时间取平均,过程繁琐而复杂,从而使得多次运行网络前向推理,取平均值来确定网络前向传输的耗时的方法,无法应用到上述神经网络结构搜索的场景中。
[0024]另外一种相关技术对神经网络模型测试的方法,可以为在移动端测量多个神经网络模型时间,运用查表法,统计神经网络中的每个算子的耗时,形成网络算子耗时表。当输
入一个新的网络后,对网络肢解成各个算子,对每个算子在耗时表进行查找,将所有出现的算子耗时累加起来获得网络的前向传输耗时。这种查表法存在以下缺陷,第一,不同移动端由于采用的处理器不同、缓存大小的不同,导致同一神经网络模型在不同手机上的前向传播时间不同。很可能出现使用了查表法预测的前向传播时间与实际的前向传播时间不符。
[0025]本公开提供了下述的神经网络模型的测试方法,以解决至少部分上述问题。
[0026]请参考图1,其示出了根据本公开的神经网络模型的测试方法的一个实施例的流程。如图1所示,该神经网络模型的测试方法,包括以下步骤:
[0027]步骤101,获取待测试神经网络模型的结构信息。
[0028]上述待测试神经网络模型可以是实现各种功能的神经网络模型,例如分类模型,分类模型可以包括图像分类模型;又例如实现预测模型等。
[0029]为了实现某种功能,可以部署实现该功能的神经网络模型,将该神经网络模型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的测试方法,包括:获取待测试神经网络模型的结构信息;基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息;根据所述运算操作的信息确定所述待测试神经网络模型的前向传播耗时。2.根据权利要求1所述的方法,其特征在于,所述获取待测试神经网络模型的结构信息,包括:将所述待测试神经网络模型拆分成多个网络层;由所述多个网络层确定所述结构信息。3.根据权利要求1所述的方法,其特征在于,所述结构信息包括待测试神经网络模型的多个网络层,以及所述基于预设推理引擎所对应的运算操作指令集以及所述结构信息,确定运行所述待测试神经网络模型所需的运算操作的信息,包括:在所述预设推理引擎中,确定实现所述网络层所需的算子;确定所述运算操作指令集下使用所述算子实现所述网络层所需的运算操作;根据多个网络层分别所需的运算操作,确定运行待测试神经网络模型所需的运算操作的信息。4.根据权利要求3所述的方法,其特征在于,所述确定所述运算操作指令集下使用所述算子实现所述网络层所需的运算操作,包括:获取输入到所述待测试神经网络模型的网络层的输入特征的维度、输出特征的维度以及实现所述网络层所需的算子的算子特征参数,所述输入特征的维度、输出特征的维度与输入到所述神经网络模型的待处理数据的数据特征的维度正相关;基于输入特征的维度、输出特征的维度、算子特征参数,确定实现所述网络层所需的运算操作。5.根据...

【专利技术属性】
技术研发人员:王星肖学锋李振鹏
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1