掌桥专利:专业的专利平台
掌桥专利
首页

模型测试方法、装置、分布式集群、电子设备及存储介质

文献发布时间:2023-06-19 11:08:20


模型测试方法、装置、分布式集群、电子设备及存储介质

技术领域

本申请涉及性能测试技术领域,具体而言,涉及一种模型测试方法、装置、分布式集群、电子设备及存储介质。

背景技术

目前,模型测试性能时,通常都是针对一个测试任务在一台机器上单独进行。对于需要同时进行多个测试的情况,则需要由测试工程师手动在不同机器上配置相应的待测模型,并运行相应的测试指令。但这样做受限于人力,存在有测试速度慢,易出错,无法进行大规模测试的问题。

发明内容

本申请实施例的目的在于提供一种模型测试方法、装置、分布式集群、电子设备及存储介质,用以解决目前模型测试速度慢,易出错,无法进行大规模测试的问题。

本申请实施例提供了一种模型测试方法,应用于分布式集群的任一工作节点中,包括:在接收到所述分布式集群中的主节点分配的测试任务时,监测已提取的特征中所述测试任务对应的特征是否已满足所述测试任务的需求;所述已提取的特征由所述分布式集群中的固定节点根据待测模型中特征提取模块对测试图像进行提取得到;在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果。

在上述实现过程中,通过分布式集群的主节点来分配测试任务,通过固定节点来进行特征提取,而通过分配有测试任务的工作节点来执行测试任务,这样即把一个模型的整个测试环节拆分到了不同的节点上进行自动处理,并配置不同节点可以执行相应的功能。在需要进行多个测试任务时,只需要将相应的模型和测试任务指派到相应的节点上,即可由各节点自主执行相应的功能,从而实现测试任务,完成对模型的多个测试任务的并行执行。这就解决了目前受限于人力,模型测试速度慢,易出错,无法进行大规模测试的问题。

进一步地,所述方法还包括:在所述测试任务执行完毕后,将所述测试结果返回所述主节点。

在本申请实施例中,在测试任务执行完毕后,可以将测试结果返回主节点,从而使得主节点得以根据测试结果进行相应的操作。比如,可以将测试结果反馈给用户。

进一步地,所述方法还包括:在接收到所述主节点分配的待测模型时,提取出所述待测模型中的特征提取模块;将所述特征提取模块发送给所述固定节点,以供所述固定节点对所述测试图像进行特征提取。

在实际应用中,一个完整的模型通常会具有多个不同的模块,比如会具有用于表明具体如何进行特征提取的特征提取模块,除此之外还会具有损失函数、分类器等模块。在本申请实施例中,固定节点中用于进行特征提取的代码可以是预先写定的,但是不同模型其具体如何进行特征提取的方式(比如需要经过几次卷积、经过几次池化、卷积和池化之间的操作顺序是怎么样的等)通常会存在差异,而具体如何进行特征提取的方式是由模型中的特征提取模块决定的。因此在上述实现过程中,通过工作节点对待测模型进行删减,提取出待测模型中特征提取模块从而发送给固定节点,可以使得固定节点能够按照待测模型的特征提取方式进行特征提取,从而使得提取出的特征是与待测模型的能力相适配的,进而可以确保测试任务能够准确实现对于待测模型的性能测试。

进一步地,在提取出所述待测模型中的特征提取模块之后,所述方法还包括:将所述特征提取模块中的浮点数转化为整数,形成所述特征提取模块的二进制模块;所述将所述特征提取模块发送给所述固定节点包括:将所述特征提取模块的二进制模块发送给所述固定节点。

在上述实现过程中,为了便于固定节点进行处理,可以将特征提取模块转换为二进制模块。同时,为了降低固定节点的处理复杂度,提高固定节点的特征提取效率,在上述实现过程中,将特征提取模块中的浮点数转化为整数,从而降低了数据复杂程度,使得固定节点在进行特征提取时,处理速度更快。

本申请实施例还提供了一种模型测试方法,用于分布式集群的任一固定节点中,包括:接收所述分布式集群中的工作节点传来的待测模型中的特征提取模块;获取测试图像,根据所述特征提取模块对所述测试图像进行特征提取,以供所述分布式集群中的工作节点基于所提取的特征执行测试任务。

在上述实现过程中,通过待测模型中的特征提取模块,可实现对测试图像的特征提取。由于是按照待测模型中的特征提取模块进行的特征提取,因此提取出的特征是与待测模型的能力相适配的,进而可以确保测试任务能够准确实现对于待测模型的性能测试。

进一步地,根据所述特征提取模块对所述测试图像进行特征提取,包括:将所述特征提取模块嵌入特征提取代码的嵌入位置;运行嵌入所述特征提取模块后的特征提取代码,对所述测试图像进行特征提取。

进一步地,所述方法还包括:将提取出的特征输出至预设的数据库中保存。

本申请实施例还提供了一种模型测试方法,应用于分布式集群的主节点中,包括:在接收到待测模型和测试任务时,将所述待测模型和所述测试任务分别分配给所述分布式集群中的各工作节点,以供分配有所述待测模型的工作节点对所述待测模型进行特征提取模块的提取,以供分配有所述测试任务的工作节点在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果;接收执行所述测试任务的工作节点返回的对所述测试任务的测试结果。

在上述实现过程中,通过分布式集群的主节点来分配待测模型和测试任务,分配有待测模型的工作节点对待测模型进行特征提取模块的提取,而通过分配有测试任务的工作节点来执行测试任务,这样即把一个模型的整个测试环节拆分到了不同的节点上进行自动处理,并配置不同节点可以执行相应的功能。在需要进行多个测试任务时,只需要将相应的模型和测试任务指派到相应的节点上,即可由各节点自主执行相应的功能,从而实现测试任务,完成对模型的多个测试任务的并行执行。这就解决了目前受限于人力,模型测试速度慢,易出错,无法进行大规模测试的问题。

进一步地,将所述待测模型和所述测试任务分配给所述分布式集群的工作节点,包括:获取所述分布式集群中各工作节点的空闲状态,将所述待测模型和所述测试任务分别分配给所述分布式集群中空闲的工作节点;或,获取所述分布式集群中各工作节点的负载情况,将所述待测模型和所述测试任务依次分配给所述分布式集群中负载最低的各工作节点。

在上述实现过程中,主节点根据各工作节点的空闲状态或负载情况进行待测模型和测试任务的分配,从而可以在一定程度上提高分布式集群的负载均衡性,提高分布式集群的资源利用率。

进一步地,所述方法还包括:监测所述分布式集群中各工作节点和固定节点的工作任务执行情况;在任一工作节点或固定节点工作任务执行失败时,向该工作节点或固定节点发送任务重启指令,以在该工作节点或固定节点上重启该执行失败的工作任务。

在上述实现过程中,主节点对分布式集群中各工作节点和固定节点的工作任务执行情况进行监控,从而可以在任一节点出现问题时,快速控制其重启任务,从而推进待测模型的测试任务的顺利执行,提高本申请方案的可靠性。

本申请实施例还提供了一种模型测试装置,应用于分布式集群的任一工作节点中,包括:第一接收模块、监测模块和处理模块;所述第一接收模块,用于接收所述分布式集群中的主节点分配的测试任务;所述监测模块,用于在所述第一接收模块接收到所述主节点分配的测试任务时,监测已提取的特征中所述测试任务对应的特征是否已满足所述测试任务的需求;所述已提取的特征由所述分布式集群中的固定节点根据待测模型中特征提取模块对测试图像进行提取得到;所述处理模块,用于在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果。

本申请实施例还提供了一种模型测试装置,应用于分布式集群的任一固定节点中,包括:第二接收模块和提取模块;所述第二接收模块,用于接收所述分布式集群中的工作节点传来的待测模型中的特征提取模块;以及用于获取测试图像;所述提取模块,用于根据所述特征提取模块,对所述测试图像进行特征提取。

本申请实施例还提供了一种模型测试装置,应用于分布式集群的主节点中,包括:分配处理模块和第三接收模块;所述分配处理模块,用于在接收到待测模型和测试任务时,将所述待测模型和所述测试任务分别分配给所述分布式集群中的各工作节点,以供分配有所述待测模型的工作节点对所述待测模型进行特征提取模块的提取,以供分配有所述测试任务的工作节点在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果;所述第三接收模块,用于接收执行所述测试任务的工作节点返回的对所述测试任务的测试结果。

本申请实施例还提供了一种分布式集群,包括:主节点、工作节点和固定节点;其中:所述主节点,用于在接收到待测模型和测试任务时,将所述待测模型分配给所述工作节点中的第一工作节点,将所述测试任务分配给所述工作节点中的第二工作节点;所述第一工作节点,用于在接收到所述主节点分配的待测模型时,提取出所述待测模型中的特征提取模块,并将所述特征提取模块发送给所述固定节点;所述固定节点用于,获取测试图像,根据所述特征提取模块,对所述测试图像进行特征提取;所述第二工作节点,用于在接收到主节点分配的测试任务时,监测已提取的特征中,所述测试任务对应的特征是否已满足所述测试任务的需求,并在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果。

本申请实施例还提供了一种电子设备,包括:处理器、存储器及通信总线;所述通信总线用于实现所述处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的模型测试方法。

本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的模型测试方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种分布式集群的结构示意图;

图2为本申请实施例提供的一种模型测试方法的交互示意图;

图3为本申请实施例提供的一种应用于分布式集群的任一工作节点中的模型测试方法的交互示意图;

图4为本申请实施例提供的一种应用于分布式集群的任一固定节点中的模型测试方法的交互示意图;

图5为本申请实施例提供的一种应用于分布式集群的主节点中的模型测试方法的交互示意图;

图6为本申请实施例提供的一种分布式集群的示意图;

图7为本申请实施例提供的一种应用于工作节点上的模型测试装置的结构示意图;

图8为本申请实施例提供的一种应用于固定节点上的模型测试装置的结构示意图;

图9为本申请实施例提供的一种应用于主节点上的模型测试装置的结构示意图;

图10为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一:

为了解决目前的测试方式受限于人力,存在有测试速度慢,易出错,无法进行大规模测试的问题,本申请实施例中提供了一种分布式集群以及一种应用于分布式集群中的模型测试方法。

请参见图1所示,分布式集群中包括主节点、工作节点和固定节点三类节点。其中:主节点用作管理节点,负责整个测试过程中的工作管理工作,而固定节点是布式集群中预先写入有特征提取代码,负责特征提取的节点,而工作节点则是可以自由分配工作的节点,主节点可以将待测模型或者测试任务分配给工作节点以由进行处理。

参见图2所示,图2为本申请实施例中提供的模型测试方法的交互示意图,包括:

S201:主节点在接收到待测模型和测试任务时,将接收到的待测模型和测试任务分配给分布式集群中的工作节点。

需要理解的是,对于一次测试而言,其需要包括待测模型和测试任务,测试任务中包括对待测模型所需进行的测试内容以及测试要求等参数。待测模型和测试任务可以由工程师输入到主节点中。

在本申请实施例中,可以预先在主节点内设置好负载均衡策略,从而使主节点按照负载均衡策略依次为接收到的待测模型和测试任务分配工作节点。

示例性的,主节点可以获取分布式集群中各工作节点的空闲状态,进而将待测模型和测试任务分别分配给分布式集群中空闲的工作节点。

或者,主节点也可以获取分布式集群中各工作节点的负载情况,将待测模型和测试任务依次分配给分布式集群中负载最低的各工作节点。

在本申请实施例中,为了获取到分布式集群中各工作节点的空闲状态或负载情况,可以设定主节点与各工作节点通信连接,从而可以实时监测到各工作节点的空闲状态或负载情况。

值得注意的是,在本申请实施例中,为了确保测试任务的可靠性,可以设定为每一个测试任务以及每一个待测模型分配不同的工作节点。

为便于描述,本申请实施例中记分配有待测模型的工作节点为第一工作节点,分配有测试任务的工作节点为第二工作节点。

S202:第一工作节点提取出待测模型中的特征提取模块。

应当理解的是,对于一个模型而言,其通常会包含有多个模块。比如会具有用于表明具体如何进行特征提取的特征提取模块,除此之外还会具有用于确定模型损失量的损失函数等模块,如果是分类模型还会具有输出分类结果的分类器等模块。

而在本申请实施例中,固定节点仅需要表明具体如何进行特征提取的特征提取模块的内容,对于其余模块是不需要的,因此需要从待测模型中提取出特征提取模块。

示例性的,在本申请实施例的一种可行实施方式中,可以由工程师预先对待测模型的特征提取模块进行标记,从而通过该标记从待测模型中提取出特征提取模块。

S203:将提取出的待测模型中的特征提取模块发送给固定节点。

在本申请实施例中,可以预先在各工作节点中配置好固定节点的IP地址与端口,从而便于将提取出的特征提取模块发送给固定节点。

而为了便于固定节点识别处理,同时也为了提高固定节点的特征提取速度,在本申请实施例中可以将特征提取模块中的浮点数转化为整数,形成特征提取模块的二进制模块,进而将特征提取模块的二进制模块发送给固定节点。

S204:固定节点获取测试图像,根据特征提取模块,对测试图像进行特征提取。

在本申请实施例中,可以预先配置特征提取代码,从而结合特征提取代码和特征提取模块,对测试图像进行特征提取。

特征提取代码中可以包括有用于进行特征提取的代码,例如卷积操作的代码、池化操作的代码等。而特征提取模块表明了具体如何进行特征提取的方式,比如需要经过几次卷积、经过几次池化、卷积和池化之间的操作顺序是怎么样的等。

为了能够按照预测模型的特征提取方式进行特征提取,在本申请实施例中,可以预先在特征提取代码的相应位置设置嵌入位置,并在嵌入位置处配置相应的命令代码。在将特征提取模块嵌入到该嵌入位置处后,运行嵌入所述特征提取模块后的特征提取代码,固定节点能够按照特征提取模块所表征的特征提取方式依次调度相应的用于进行特征提取的代码进行特征提取,从而提取出测试图像的特征。

需要说明的是,测试图像可以是工程师预先配置好的,存储在预设位置处(比如数据库中)的图像。固定节点在接收到特征提取模块后即可自动从预设位置处进行获取。此外,也可以是由工程师在输入待测模型和测试任务时输入的,主节点在收到测试图像后即可以发送给各固定节点。

S205:第二工作节点监测已提取的特征中测试任务对应的特征是否已满足该测试任务的需求。

在本申请实施例中,为了便于第二工作节点进行监测,固定节点可以将提取出的特征发送至预设的数据库中进行保存。第二工作节点仅需要监测该数据库中是否已存在有满足该测试任务的需求的测试任务对应的特征即可。

应当理解的是,前文中描述了测试任务中包括对待测模型所需进行的测试内容以及测试要求等参数。而测试要求中包括有该测试任务所需求的特征的类型、数量等信息,据此第二工作节点即可确定测试任务对应的特征是否已满足该测试任务的需求。也即,第二工作节点可确定测试任务对应的特征是否与测试要求匹配。

而测试内容中包括有采用该测试任务所需求的特征进行测试的具体方式,从而使得第二工作节点可采用测试任务对应的特征执行测试任务,完成对模型的性能测试。

S206:在该测试任务对应的特征已满足测试任务的需求时,采用该测试任务对应的特征执行该测试任务。

需要注意的是,对于一个待测模型而言,其可以对应有多个测试任务,而在本申请实施例中,可以同时配置针对多个待测模型的多个测试任务。

因此为了确保分布式集群的测试过程的可靠性,工程师在输入时,可以配置相关测试任务与待测模型之间的关联关系,比如可为待测模型配置唯一的模型标识,并在相关测试任务中携带该模型标识。

而在第一工作节点提取出待测模型中的特征提取模块时,可以携带该待测模型的模型标识发送给固定节点,而固定节点则可以将提取出的特征与该待测模型的模型标识一起发送至数据库中进行保存。这样第二工作节点基于测试任务中携带的模型标识即可有效实现对于该测试任务对应的特征的监测。

在本申请实施例中,第二工作节点在执行完毕测试任务后,可以将测试结果返回主节点,从而由主节点反馈测试结果给用户。

在本申请实施例中,在监测已提取的特征中测试任务对应的特征是否已满足该测试任务的需求后,可以通知固定节点停止对该特征进行提取。

需要注意的是,对于需要对多个待测模型进行测试的情况,可以配置各固定节点按照接收到特征提取模块的先后顺序,依次对各待测模型对应的特征进行提取;此外,也可以由主节点对固定节点进行分配,确定各固定节点分别对应的待测模型并通知各第一工作节点,此时各第一工作节点仅会将特征提取模块发送给对应的固定节点。

可选的,为了提高本申请方案的可靠性,可以配置主节点对分布式集群中的各个工作节点和固定节点进行工作任务执行情况的监测,进而在任一工作节点或固定节点工作任务执行失败时,向该工作节点或固定节点发送任务重启指令,以在该工作节点或固定节点上重启该执行失败的工作任务。

需要说明的是,前述任务是指:第一工作节点对待测模型进行特征提取模块的提取这一工作任务,固定节点根据待测模型的特征提取模块对测试图像进行特征提取这一工作任务,以及第二工作节点监测已提取的特征中,测试任务对应的特征是否已满足该测试任务的需求,在该测试任务对应的特征已满足该测试任务的需求时,采用该测试任务对应的特征执行该测试任务这一工作任务。

值得注意的是,在本申请实施例中,分布式集群中的各节点可以为物理机。此外,在物理机的资源充足时,分布式集群中的各节点也可以为运行于物理机上的虚拟机。

还值得注意的是,本申请实施例中提供的分布式集群以及模型测试方法,可以适用于诸如图像分类模型、图像切割模型等各类图像处理模型中,比如可以适用于人脸识别模型。

本申请实施例中提供的分布式集群以及模型测试方法,通过分布式集群的主节点来分配待测模型和测试任务,通过第一工作节点对待测模型进行特征提取模块的提取,通过固定节点来进行特征提取,通过第二工作节点来执行测试任务,这样即把一个模型的整个测试环节拆分到了不同的节点上进行自动处理,并配置不同节点可以执行相应的功能。在需要进行多个测试任务时,只需要将相应的模型和测试任务指派到相应的节点上,即可由各节点自主执行相应的功能,从而实现测试任务,完成对模型的多个测试任务的并行执行。这就解决了目前受限于人力,模型测试速度慢,易出错,无法进行大规模测试的问题。

实施例二:

为便于说明本申请实施例的方案,下面分别从分布式集群的工作节点、固定节点、主节点的角度,对本申请实施例的方案进行描述。

参见图3所示,图3示出了本申请实施例中应用于分布式集群的任一工作节点中的模型测试方法,包括:

S301:在接收到分布式集群中的主节点分配的测试任务时,监测已提取的特征中所述测试任务对应的特征是否已满足所述测试任务的需求。

在本申请实施例中,已提取的特征由分布式集群中的固定节点根据待测模型中特征提取模块对测试图像进行提取得到。

S302:在测试任务对应的特征已满足测试任务的需求时,采用测试任务对应的特征执行测试任务,得到测试结果。

在本申请实施例中,工作节点还可以在接收到主节点分配的待测模型时,提取出待测模型中的特征提取模块。

关于工作节点的具体执行过程,可以参见实施例一中有关工作节点的相关内容描述,再此不再赘述。

参见图4所示,图4示出了本申请实施例中应用于分布式集群的任一固定节点中的模型测试方法,包括:

S401:接收分布式集群中的工作节点传来的待测模型中的特征提取模块。

S402:获取测试图像,根据特征提取模块对测试图像进行特征提取,以供分布式集群中的工作节点基于所提取的特征执行测试任务。

关于固定节点的具体执行过程,可以参见实施例一中有关固定节点的相关内容描述,再此不再赘述。

参见图5所示,图5示出了本申请实施例中应用于分布式集群的主节点中的模型测试方法,包括:

S501:在接收到待测模型和测试任务时,将待测模型和测试任务分别分配给分布式集群中的各工作节点。

在本申请实施例中,主节点会将待测模型和测试任务分别分配给分布式集群中的各工作节点,以供分配有待测模型的工作节点对待测模型进行特征提取模块的提取,以供分配有测试任务的工作节点在测试任务对应的特征已满足测试任务的需求时,采用测试任务对应的特征执行测试任务,得到测试结果。

S502:接收执行测试任务的工作节点返回的对测试任务的测试结果。

关于主节点的具体执行过程,可以参见实施例一中有关主节点的相关内容描述,再此不再赘述。

实施例三:

本实施例在实施例一和实施例二的基础上,以一种针对人脸识别模型同时进行三个性能测试的情况为例,对本申请的方案进行示例说明。

参见图6所示,图6展示了分布式集群的整体模块以及处理过程,其中实线框代表分布式集群中的节点,与节点相对的虚线框代表对应节点执行的操作。

首先将训练好的人脸识别模型以及所需进行的三个性能测试任务输入到主节点中。

主节点根据当前集群中各工作节点的空闲情况,将人脸识别模型发送给工作节点A,而将性能测试任务1、2、3分别分配给工作节点1、2、3。

工作节点A对人脸识别模型的网络模块进行删减,得到特征提取模块,将特征提取模块中的浮点数转化为整数,形成可载入进内存的二进制模块,并发送给各固定节点。

各固定节点将特征提取模块的二进制模块载入进内存,并嵌入预先写于固定节点内的特征提取代码的嵌入位置。

运行嵌入二进制模块的特征提取代码,从测试图像中提取出特征,并发送至预设的特征数据库中进行存储。

在本申请实施例中,为了加快特征提取速度,可以配置多个固定节点。

第二工作节点1、2、3分别监测特征数据库中的特征类型和特征数量。在特征类型和特征数量满足测试任务要求时,获取相应特征,运行对应的测试任务,并在测试完成后返回测试结果给主节点。

在收到所有测试任务的结果后,主节点通知用户整个测试结果。

在本申请实施例中,特征数据库可以采用NOSQL数据库,以便于固定节点进行数据存储,以及第二工作节点进行数据监控和读取。

实施例四:

基于同一发明构思,本申请实施例中还提供了三种分别应用于前述分布式集群的工作节点、固定节点和主节点上的模型测试装置。请参阅图7至图9所示,图7至图9分别示出了与实施例一所示的方法中工作节点、固定节点和主节点所执行的过程对应的模型测试装置100、200和300。应理解,模型测试装置100、200和300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。模型测试装置100、200和300包括至少一个能以软件或固件的形式存储于存储器中或固化在模型测试装置100、200和300的操作系统中的软件功能模块。具体地:

参见图7所示,模型测试装置100应用于分布式集群的任一工作节点中,包括第一接收模块101、监测模块102和处理模块103。其中:

所述第一接收模块101,用于接收所述分布式集群中的主节点分配的测试任务;

所述监测模块102,用于在所述第一接收模块101接收到所述主节点分配的测试任务时,监测已提取的特征中所述测试任务对应的特征是否已满足所述测试任务的需求;所述已提取的特征由所述分布式集群中的固定节点根据待测模型中特征提取模块对测试图像进行提取得到;

所述处理模块103,用于在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果。

在本申请实施例中,处理模块103还用于在所述测试任务执行完毕后,将测试结果返回所述主节点。

在本申请实施例中,第一接收模块101还用于接收到主节点分配的待测模型,处理模块103还用于在第一接收模块101接收到主节点分配的待测模型时,提取出待测模型中的特征提取模块,将所述特征提取模块发送给所述固定节点,以供所述固定节点对所述测试图像进行特征提取。

在本申请实施例中,处理模块103具体用于在提取出所述待测模型中的特征提取模块之后,将所述特征提取模块中的浮点数转化为整数,形成所述特征提取模块的二进制模块,将所述特征提取模块的二进制模块发送给所述固定节点。

参见图8所示,模型测试装置200应用于分布式集群的任一固定节点中,包括第二接收模块201和提取模块202。其中:

所述第二接收模块201,用于接收所述分布式集群中的工作节点传来的待测模型中的特征提取模块;以及用于获取测试图像;

所述提取模块202,用于根据所述特征提取模块,对所述测试图像进行特征提取,以供所述分布式集群中的工作节点基于所提取的特征执行测试任务。

在本申请实施例中,提取模块202具体用于将所述特征提取模块嵌入预设的特征提取代码的嵌入位置;运行嵌入所述特征提取模块后的特征提取代码,对所述测试图像进行特征提取。

在本申请实施例中,提取模块202还用于将提取出的特征输出至预设的数据库中保存。

参见图9所示,模型测试装置300应用于分布式集群的主节点中,包括:分配处理模块301和第三接收模块302。其中:

所述分配处理模块301,用于在接收到待测模型和测试任务时,将所述待测模型和所述测试任务分别分配给所述分布式集群中的各工作节点,以供分配有所述待测模型的工作节点对所述待测模型进行特征提取模块的提取,并发送给所述分布式集群中的固定节点进行特征提取,以供分配有所述测试任务的工作节点在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果;

所述第三接收模块302,用于接收执行所述测试任务的工作节点返回的对所述测试任务的测试结果。

在本申请实施例中,分配处理模块301具体用于获取所述分布式集群中各工作节点的空闲状态,将所述待测模型和所述测试任务分别分配给所述分布式集群中空闲的工作节点;或,获取所述分布式集群中各工作节点的负载情况,将所述待测模型和所述测试任务依次分配给所述分布式集群中负载最低的各工作节点。

在本申请实施例中,分配处理模块301还用于监测所述分布式集群中各工作节点和固定节点的工作任务执行情况;

在任一工作节点或固定节点工作任务执行失败时,向该工作节点或固定节点发送任务重启指令,以在该工作节点或固定节点上重启该执行失败的工作任务。其中:

分配有所述待测模型的工作节点的任务为:对所述待测模型进行特征提取模块的提取;

所述固定节点的工作任务为:根据所述待测模型的特征提取模块对预设的测试图像进行特征提取;

分配有所述测试任务的工作节点的任务为:在所述测试任务对应的特征已满足所述测试任务的需求时,采用所述测试任务对应的特征执行所述测试任务,得到测试结果。

需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。

实施例五:

本实施例提供了一种电子设备,参见图10所示,其包括处理器1001、存储器1002以及通信总线1003。其中:

通信总线1003用于实现处理器1001和存储器1002之间的连接通信。

处理器1001用于执行存储器1002中存储的一个或多个程序,以实现上述实施例一中主节点或任一工作节点或固定节点所执行的模型测试方法中的步骤。

可以理解,图10所示的模块仅为示意,电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置,例如还可以具有数据输入/输出接口、显示屏、键盘等部件。

本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一中主节点或任一工作节点或固定节点所执行的模型测试方法中的步骤。在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

在本文中,多个是指两个或两个以上。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 模型测试方法、装置、分布式集群、电子设备及存储介质
  • 一种分布式集群软件的测试方法、装置、设备及存储介质
技术分类

06120112811085