首页 / 专利库 / 电脑编程 / 算法 / 一种算法测试方法及系统

一种算法测试方法及系统

阅读:121发布:2023-05-29

专利汇可以提供一种算法测试方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种 算法 测试方法及系统,该方法包括:获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应 插件 ,得到封装后的第一待测试算法;根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。本发明实施例通过将多种算法插件封装成具有相同输入输出的算法测试模型,当对不同待测试算法进行算法测试时,不需要重新编写或者 修改 测试程序,只需要对算法测试模型中的算法插件进行相应地更换,从而完成对不同待测试算法的测试,提高了算法测试的效率,减少了算法测试的时间成本。,下面是一种算法测试方法及系统专利的具体信息内容。

1.一种算法测试方法,其特征在于,包括:
获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;
根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
2.根据权利要求1所述的算法测试方法,其特征在于,所述算法测试模型通过以下步骤得到:
根据待测试算法的算法测试类型,获取多个算法插件,所述多个算法插件至少包括两个;
根据所述多个算法插件,构建算法测试模型,以用于对待测试算法进行算法测试。
3.根据权利要求2所述的算法测试方法,其特征在于,所述方法还包括:
若获取到多个待测试算法,则根据多个待测试算法的算法测试类型,分别将多个待测试算法封装成对应插件,并根据多个算法测试类型和预设测试顺序,依次对算法测试模型的算法插件进行替换,以用于分别对封装后的多个待测试算法进行测试。
4.根据权利要求2所述的算法测试方法,其特征在于,所述算法测试模型通过动态加载的方法对算法插件进行加载。
5.根据权利要求2所述的算法测试方法,其特征在于,在所述根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的待测试算法进行算法测试之后,所述方法还包括:
获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
6.根据权利要求2所述的算法测试方法,其特征在于,所述算法测试模型中包含多种用于测试相同算法测试类型的算法插件,以用于对同一个待测试算法进行多次测试,获取最优算法测试方案。
7.一种算法测试系统,其特征在于,包括:
封装模,用于获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;
算法测试模块,用于根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
8.根据权利要求7所述的算法测试系统,其特征在于,所述系统还包括:算法插件更新模块,用于获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述算法测试方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述算法测试方法的步骤。

说明书全文

一种算法测试方法及系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种算法测试方法及系统。

背景技术

[0002] 每一个算法在构建之后,都需要对其正确性、可用性和效率等方面进行分析,没有一个算法在任何情况下都是最优的,有些算法速度相比其他算法要更快,但是其占用的存储空间可能更多;而有些算法虽然更加稳定,但是执行其功能和性能的正确性较低。因此,需要对算法进行测试,从而保证该算法是可靠的,能在实际软件环境中得到应用。
[0003] 现有的算法测试方法,在测试不同的算法时,由于每种算法的接口不同,以及输入输出不同,往往导致每次测试新算法时,需要重新编写测试程序,耗费大量的时间成本,造成资源的浪费。
[0004] 因此,现在亟需一种算法测试方法及系统来解决上述问题。

发明内容

[0005] 针对现有技术存在的问题,本发明实施例提供一种算法测试方法及系统。
[0006] 第一方面,本发明实施例提供了一种算法测试方法,包括:
[0007] 获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;
[0008] 根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0009] 进一步地,所述算法测试模型通过以下步骤得到:
[0010] 根据待测试算法的算法测试类型,获取多个算法插件,所述多个算法插件至少包括两个;
[0011] 根据所述多个算法插件,构建算法测试模型,以用于对待测试算法进行算法测试。
[0012] 进一步地,所述方法还包括:
[0013] 若获取到多个待测试算法,则根据多个待测试算法的算法测试类型,分别将多个待测试算法封装成对应插件,并根据多个算法测试类型和预设测试顺序,依次对算法测试模型的算法插件进行替换,以用于分别对封装后的多个待测试算法进行测试。
[0014] 进一步地,所述算法测试模型通过动态加载的方法对算法插件进行加载。
[0015] 进一步地,在所述根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的待测试算法进行算法测试之后,所述方法还包括:
[0016] 获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
[0017] 进一步地,所述算法测试模型中包含多种用于测试相同算法测试类型的算法插件,以用于对同一个待测试算法进行多次测试,获取最优算法测试方案。
[0018] 第二方面,本发明实施例提供了一种算法测试系统,包括:
[0019] 封装模,用于获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;
[0020] 算法测试模块,用于根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0021] 进一步地,所述系统还包括:算法插件更新模块,用于获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
[0022] 第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
[0023] 第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
[0024] 本发明实施例提供的一种算法测试方法及系统,通过将多种算法插件封装成具有相同输入输出的算法测试模型,当对不同待测试算法进行算法测试时,不需要重新编写或者修改测试程序,只需要对算法测试模型中的算法插件进行相应地更换,从而完成对不同待测试算法的测试,提高了算法测试的效率,减少了算法测试的时间成本。附图说明
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026] 图1为本发明实施例提供的算法测试方法的流程示意图;
[0027] 图2为本发明实施例提供的算法测试系统的结构示意图;
[0028] 图3为本发明实施例提供的电子设备结构示意图。

具体实施方式

[0029] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 图1为本发明实施例提供的算法测试方法的流程示意图,如图1所示,本发明实施例提供了一种算法测试方法,包括:
[0031] 步骤101,获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;
[0032] 步骤102,根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0033] 在本发明实施例中,首先获取待测试算法,即第一待测试算法,然后根据该算法待测试的算法测试类型,将第一待测试算法封装成对应的插件。然后,将封装成插件之后的第一待测试算法输入到算法测试模型中,算法测试模型根据该待测试算法的算法测试类型,调取或替换算法测试模型中相应的算法插件,从而通过不同的算法插件对不同的待测试算法进行算法测试。
[0034] 本发明实施例提供的一种算法测试系统,通过将多种算法插件封装成具有相同输入输出的算法测试模型,当对不同待测试算法进行算法测试时,不需要重新编写或者修改测试程序,只需要对算法测试模型中的算法插件进行相应地更换,从而完成对不同待测试算法的测试,提高了算法测试的效率,减少了算法测试的时间成本。
[0035] 在上述实施例的基础上,所述算法测试模型通过以下步骤得到:
[0036] 根据待测试算法的算法测试类型,获取多个算法插件,所述多个算法插件至少包括两个;
[0037] 根据所述多个算法插件,构建算法测试模型,以用于对待测试算法进行算法测试。
[0038] 在本发明实施例中,可根据预设的测试要求,构建算法测试模型,具体地,首先获取多种待测试算法的算法测试类型,分别根据这些算法测试类型,构建算法测试模型的封装接口,例如,关于人脸算法的算法测试,可将相应的接口输入输出参数封装成检测接口、提取特征值接口或特征值比对接口等;关于人脸活体算法,则可将相应得到接口输入输出参数封装成检测接口或活体判断接口等。需要说明的是,在本发明实施例中,算法测试模型中的算法插件至少包括两种,根据实际算法测试需求,在封装不同算法插件时,为适应不同算法测试的各种不同参数,将输入输出参数的全集作为算法插件的参数,避免个别待测试算法因为参数不同,导致无法封装。
[0039] 在上述实施例的基础上,所述方法还包括:
[0040] 若获取到多个待测试算法,则根据多个待测试算法的算法测试类型,分别将多个待测试算法封装成对应插件,并根据多个算法测试类型和预设测试顺序,依次对算法测试模型的算法插件进行替换,以用于分别对封装后的多个待测试算法进行测试。
[0041] 在本发明实施例中,当同时需要多个算法进行测试时,首先根据算法测试模型中预设的接口类型,即算法测试类型,将不同的算法分别封装成对应插件,然后,再根据待测试算法的输入顺序(通过预设顺序进行设置),依次对待测试算法进行算法测试,当前一个算法完成测试之后,根据后一个算法的算法测试类型,对算法测试模型的算法插件进行替换,从而完成每一个算法的测试。在本发明一实施例中,需要对A、B和C三种不同的算法进行算法测试,首先,根据预设的接口将A、B和C三种算法分别封装成对应插件;然后,将算法测试模型的算法插件替换为A算法的封装插件并测试,输出A算法的测试结果;再将算法测试模型的算法插件替换为B算法的封装插件并测试,输出B算法的测试结果;最后将算法测试模型的算法插件替换为C算法的封装插件并测试,输出C算法的测试结果。
[0042] 在上述实施例的基础上,所述算法测试模型通过动态加载的方法对算法插件进行加载。
[0043] 在本发明实施例中,通过动态加载的方式对算法测试模型的算法插件进行加载,从而使得算法测试模型中算法插件的调用以及替换更加效率。
[0044] 在上述实施例的基础上,在所述根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的待测试算法进行算法测试之后,所述方法还包括:
[0045] 获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
[0046] 在本发明实施例中,在对新的待测试算法进行测试之前,首先要对该算法的算法测试类型进行分析,若算法测试模型中现有的算法插件不能对新的待测试算法进行测试,或者测试效果较差,则需要对算法测试模型中的算法插件进行更新,或者将测试效果较差的算法插件进行替换,避免了对算法测试模型中的测试程序进行修改,从而提高了算法测试的效率。
[0047] 在上述实施例的基础上,所述算法测试模型中包含多种用于测试相同算法测试类型的算法插件,以用于对同一个待测试算法进行多次测试,获取最优算法测试方案。
[0048] 在本发明实施例中,在相同测试方法以及测试环境下,通过不同的算法插件,对同一个待测试算法进行测试,从而可以准确的比较不同算法插件的优劣,以使得在测试其他相同类型的算法时,可快速封装并替换相应的算法插件,从而进行算法测试。
[0049] 图2为本发明实施例提供的算法测试系统的结构示意图,如图2所示,本发明实施例提供了一种算法测试系统,包括封装模块201和算法测试模块202,其中,封装模块201用于获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;算法测试模块202用于根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0050] 在本发明实施例中,封装模块201首先获取待测试算法,即第一待测试算法,然后根据该算法待测试的算法测试类型,将第一待测试算法封装成对应的插件。在将待测试算法封装成插件之后,算法测试模块202将封装成插件之后的第一待测试算法输入到算法测试模型中,算法测试模型根据该待测试算法的算法测试类型,调取或替换算法测试模型中相应的算法插件,从而通过不同的算法插件对不同的待测试算法进行算法测试。
[0051] 本发明实施例提供的一种算法测试系统,通过将多种算法插件封装成具有相同输入输出的算法测试模型,当对不同待测试算法进行算法测试时,不需要重新编写或者修改测试程序,只需要对算法测试模型中的算法插件进行相应地更换,从而完成对不同待测试算法的测试,提高了算法测试的效率,减少了算法测试的时间成本。
[0052] 在上述实施例的基础上,所述系统还包括:算法插件更新模块,用于获取第二待测试算法,并根据所述第二待测试算法的算法测试类型进行判断分析,若判断获知,所述算法测试模型中不包含所述第二待测试算法的算法测试类型,则对所述算法测试模型的算法插件进行更新,以用于对所述第二待测试算法进行算法测试。
[0053] 在本发明实施例中,在对新的待测试算法进行测试之前,算法插件更新模块需要对该算法的算法测试类型进行分析,若算法测试模型中现有的算法插件不能对新的待测试算法进行测试,或者测试效果较差,算法插件更新模块对算法测试模型中的算法插件进行更新,或者将测试效果较差的算法插件进行替换,避免了对算法测试模型中的测试程序进行修改,从而提高了算法测试的效率。
[0054] 本发明实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
[0055] 图3为本发明实施例提供的电子设备结构示意图,参照图3,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0056] 此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0057] 另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的算法测试方法,例如包括:获取第一待测试算法,并根据所述第一待测试算法的算法测试类型,将所述第一待测试算法封装成对应插件,得到封装后的第一待测试算法;根据所述算法测试类型,对算法测试模型的算法插件进行替换,以用于对封装后的第一待测试算法进行算法测试。
[0058] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0059] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0060] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈