CN113836012B - 算法测试方法、装置、电子设备及存储介质 - Google Patents

算法测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113836012B
CN113836012B CN202111091500.7A CN202111091500A CN113836012B CN 113836012 B CN113836012 B CN 113836012B CN 202111091500 A CN202111091500 A CN 202111091500A CN 113836012 B CN113836012 B CN 113836012B
Authority
CN
China
Prior art keywords
algorithm
data
labeling
result
data set
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.)
Active
Application number
CN202111091500.7A
Other languages
English (en)
Other versions
CN113836012A (zh
Inventor
涂勇军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jinsheng Communication Technology Co ltd
Original Assignee
Shanghai Jinsheng Communication Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jinsheng Communication Technology Co ltd filed Critical Shanghai Jinsheng Communication Technology Co ltd
Priority to CN202111091500.7A priority Critical patent/CN113836012B/zh
Publication of CN113836012A publication Critical patent/CN113836012A/zh
Application granted granted Critical
Publication of CN113836012B publication Critical patent/CN113836012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种算法测试方法、装置、电子设备及存储介质。其中,所述方法包括:生成第一数据集和第一标注集;在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;获取所述至少一个电子设备中每个电子设备对应的第一信息;基于获取到的第一信息确定是否需要对所述第一算法进行迭代。

Description

算法测试方法、装置、电子设备及存储介质
技术领域
本申请涉及软件技术领域,尤其涉及一种算法测试方法、装置、电子设备及存储介质。
背景技术
相关技术中,算法测试包括通过对算法输出结果进行的客观指标评测,以及在实际应用上对算法进行的主观评估,其中,客观指标评测并不能完全反应出算法的实际应用的效果,而算法的主观评价是通过评测人员的主观评价对算法进行评估的,导致不能对算法进行全面性或系统性的评价。
发明内容
有鉴于此,本申请实施例提供一种算法测试方法、装置、电子设备及存储介质,以至少解决相关技术出现的缺乏对算法进行全面性或系统性的评价的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种算法测试方法,所述方法包括:
生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果;
在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;
获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出;
基于获取到的第一信息确定是否需要对所述第一算法进行迭代。
本申请实施例还提供了一种算法测试装置,包括:
生成单元,用于生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果;
配置单元,用于在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;
获取单元,用于获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出;
确定单元,用于基于获取到的第一信息确定是否需要对所述第一算法进行迭代。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
在本申请实施例中,将数据集输入到不同电子设备配置的待测算法中,根据待测算法得到的处理结果以及数据集对应的标注集,从不同的维度对待测算法进行评价,能够缩短测评流程,并且能够对待测算法进行全面的评价。
附图说明
图1为本申请实施例提供的算法测试平台示意图;
图2为本申请一实施例提供的算法测试方法的实现流程示意图;
图3为本申请又一实施例提供的算法测试方法的实现流程示意图;
图4为本申请又一实施例提供的算法测试方法的实现流程示意图;
图5为本申请一实施例提供的生成第一标注集的流程示意图;
图6为本申请一实施例提供的算法测试方法的时效性流程示意图;
图7为本申请一实施例提供的算法部署的流程示意图;
图8为本申请一实施例提供的生成第一测试结果的流程示意图;
图9为本申请一实施例提供的第三测试结果的流程示意图;
图10为本申请一实施例提供的算法测试方法的实现流程示意图;
图11为本申请一实施例提供的生成第二测试结果的流程示意图;
图12为本申请一应用实施例提供的一种算法测试平台的框架图;
图13为本申请一实施例提供的算法测试装置的结构示意图;
图14为本申请一实施例提供的电子设备的硬件组成结构示意图。
具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
需要说明的是,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。另外,本文中术语“至少一个”表示多个中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本申请实施例提供的算法测试方法,可以应用于如图1所示的算法测试平台上,算法测试平台中包括了数据集制作模块、待测算法部署模块、待测算法评估模块、分析模块,其中,数据集制作模块用于生成与录入第一数据集,并对第一数据集进行标注生成对应的第一标注集,待测算法部署模块用于将待测算法部署到不同的电子设备上,待测算法评估模块用于生成待测算法在不同维度上的测试结果,分析模块用于根据待测算法在不同纬度上的测试结果,分析是否需要对待测算法进行迭代。算法测试平台可以支持对多个待测算法进行测评,实现数据集制作、待测算法部署、待测算法评估与分析等在算法测试平台呈现,从而缩短了对待测算法测评的流程和冗余操作。
下面将通过实施例并结合附图具体地对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的算法测试方法的实现流程示意图,如图3示出的,算法测试方法包括:
S201:生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果。
这里,对第一算法进行测评,主要是对第一算法的算法能力进行评估,第一算法的算法能力体现在第一算法对输入的数据集的处理结果上。第一数据集可以来源于第一算法在上次迭代过程中生成的迭代数据与网络上采集得到关于第一算法的数据,示例地,第一算法用于图片识别,那么可以根据网络上获取得到不同的图像生成第一数据集,进一步地,还可以根据图像中含有的对象数量,进一步地对第一数据集中的不同图像进行调整,示例地,第一数据集中小于3个对象的图像数量与大于3个对象的图像数量满足设定的比值,能够使第一数据集包含不同处理难度的图像,从而更能够体验第一算法对第一数据集中不同的数据进行处理的效果。在生成第一数据集后,对第一数据集中的每个数据进行标注,从而生成第一数据集中每个数据关于第一算法的标注结果,在实际应用中,相同的第一数据集对于不同的第一算法而言,对应的标注结果会发生变化,示例地,以图像识别为背景,第一数据集中的一个图像由背景与小狗组成,当第一算法为识别犬种的情况下,图像对应的标记结果应当为小狗所对应的种类,当第一算法为识别背景的情况下,图像对应的标记结果应当为背景的区域。
在一实施例中,如图3所示,在生成第一标注集时,所述方法包括:
S301:基于第二算法对所述第一数据集进行标注,生成所述第一数据集中每个数据对应的第一标注结果;所述第二算法表征基于所述第一算法配置的用于数据标注的算法。
这里,可以通过对第一数据集中每个数据进行自动标注,从而生成第一标注集,其中,可以根据第一算法,为第一算法部署相匹配的第二算法,通过第二算法对第一数据进行自动标注,生成第一数据集中每个数据关于第一算法的第一标注结果,在实际应用中,第二算法为高精度模型或者是其他用于实现自动标注的工具,从而能够提高生成的标注结果的准确性。
S302:基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集。
这里,对第一数据集中每个数据对应的第一标注结果进行数据处理是为了保证第一标注集中的标注结果的准确性,检测第一数据集中每个数据对应的第一标注结果是否存在错误,进一步地对相应的第一标注结果进行处理,示例地,根据标注规则,人工检测第一标注结果是否正确,如果第一标注结果存在错误的情况下,将错误的第一标注结果修改为正确的第一标注结果,从而能够通过人工确认第一数据集中每个数据对应的第一标注结果是正确的。在实际应用中,还可以进一步检测第一数据集中每个数据对应的第一批注结果是否覆盖不同场景,在对第一标注结果完成处理后,生成第一标注集,从而进一步地通过第一标注集的精确度。
在一实施例中,如图4所示,所述基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集,包括:
S401:根据第二标注集与第一特征,生成至少一个第二标注结果;所述第二标注集表征所述第一数据集中每个数据对应的第一标注结果组成的集合;所述第一特征表征所述第一算法的应用场景。
这里,第一数据集中每个数据对应的第一标注结果组成第二标注集,第二标注集为第一数据集的预标注集,在第二标注集的基础上进行数据处理,生成第一数据集最终的标注集,在第二标注集的基础上,根据第一算法的第一特征补充生成至少一个第二标注结果,第一特征是指第一算法的应用场景,其中,这些第二标注结果不同于第一标注集中每个第一标注结果,在实际应用中,第二标注结果是基于第一数据集与第二标注集生成的,当第一数据集中的数据种类覆盖范围不够广的情况下,存在缺失第一场景的某种应用场景下对应的标注结果,或者为第一算法难以识别的场景所对应的标注结果,因此需要结合第一特征和第二标注集,增加至少一个第二标注结果,示例地,第一算法用于图像识别,当存在图像中的汽车是位于水里的,第一算法容易识别图像中的汽车为船,因此,可以根据这种弱势场景补充生成第二标注结果。在实际应用中,第二标注结果的补充生成并不是必须的,当第二标注集中的标注结果所覆盖的场景能够满足第一算法的应用场景的情况下,不需要再额外增加第二标注结果。
S402:基于所述第二标注集与所述至少一个第二标注结果,生成所述第一标注集。
这里,将第二标注集中的每个第一标注结果与补充生成的每个第二标注结果组合生成第一标注集,第一标注集中的标注结果能够很好地覆盖第一算法的应用场景,并且,在实际应用中,在对第一算法的测评中,需要将第一批注集与第一算法基于第一数据集生成的结果进行对比,从而能够确定第一算法对复杂的场景是否具备较佳的分析能力。如图5所示,图5示出了生成第一标注集的流程示意图,从数据存储平台中存储有第一数据集,对第一数据集进行数据筛选,通过第一算法配置高精度算法模型,实现对第一数据集中的每个数据进行自动标注,得到第二标注集,基于第二标注集,生成第二标注结果,实现难例补充与场景积累,对第二标注集中的第一标注结果进行人工标注并进行数据审核,其中,可以通过标注体系、辅助工具或者众包服务确定第一标注结果是否正确,在实际应用中,可以对筛选后的第一数据集直接进行人工标注,最终生成第一标注集。
S202:在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器。
这里,在对第一算法进行测评的过程中,需要其他电子设备的参与,在参与第一算法测评的每个电子设备上配置第一算法,电子设备包括服务器,还可以包括其他可以配置第一算法的电子设备,从而能够根据其他电子设备上的第一算法基于第一数据集输出的处理结果,对第一算法进行测评。
在一实施例中,如图6所示,所述在至少一个电子设备中的每个电子设备上配置所述第一算法时,所述方法包括:
S601:获取电子设备对应的性能参数。
这里,通过数据接口访问电子设备,获取电子设备对应的性能参数,其中,性能参数可以包括电子设备的内存大小、带宽大小、硬盘大小以及处理器规格等参数。
S602:在所述电子设备对应的性能参数满足运行所述第一算法所需要的资源的情况下,在所述电子设备上配置所述第一算法。
这里,图7示出了算法部署的流程示意图,在电子设备的性能参数是否满足运行第一算法所需要的资源,在电子设备的性能参数不能满足运行第一算法所需要的资源的情况下,停止向电子设备继续部署第一算法,并向电子设备发送相应的通知,在电子设备的性能参数能够满足运行第一算法所需要的资源的情况下,继续进行部署流程,获取算法配置模板,配置模板中包含了算法的配置信息,其中,配置信息包括部署节点IP地址、端口、域名、部署包分布、资源需求等相关信息,根据算法配置模板中的配置信息编排部署任务,对节点信息进行配置,进行服务拉起以及服务测试校验等配置程序,在电子设备上完成第一算法的配置。在实际应用中,当第一算法在电子设备上成功配置后,可以将第一算法的基本信息注册到远程字典服务器(Redis,Remote Dictionary Server)中,例如,可以将第一算法的版本信息、第一算法的部署环境信息、第一算法的服务状态信息等存储到Redis中,在业务调用使用算法的过程中,可以从Redis中查询到相关的算法信息,示例地,在业务使用时,通过接口访问第一算法服务的地址的时候,优先从Redis中获取第一算法的服务可用状态。
S203:获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出。
这里,通过数据接口,从不同电子设备上获取对应的第一信息,第一信息为电子设备生成的关于第一算法在至少一个维度上的测试结果,其中,第一信息可以包括对第一算法的客观评估生成的第一测试结果,也可以包括对第一算法效果的主观评估生成的第二测试结果,还可以为不同电子设备上的第一算法效果的第三测试结果,第一测试结果、第二测试结果与第三测试结果可以保存到设定的数据库中。其中,如图8所示,图8示出了生成第一测试结果的流程示意图,第一测试结果是在服务器上生成的,主要是从算法指标计算的维度对第一算法进行评估,服务器上配置有第一算法,通过数据接口,将第一数据集传输到服务器,服务器将第一数据集输入至第一算法,得到第一处理结果后,将第一处理结果与第一标注集进行对比,生成不同指标,在实际应用中,还可以通过数据接口,调用竞品算法对第一数据集进行处理生成第二处理结果,将第二处理结果与第一处理结果进行对比,生成对应的指标参数,其中,竞品算法是指与第一算法实现相同应用功能的算法,例如,第一算法是用于进行图像识别,用于图像识别的其他算法可以看作为竞品算法。在图8上的算法1……算n代表着不同的待测试算法,算法1测试服务下的算法模型1、算法模型2……算法模型n代表着同一个待测试算法的不同阶段对应的算法模型。
在实际应用中,第一算法部署到不同的电子设备上的时候,往往需要根据电子设备的能力进行适配,在第一算法与电子设备适配的过程中,需要对第一算法的算法模型进行修改,而算法模型的修改将会影响第一算法的计算能力,因此还需要评估第一算法在不同电子设备上的表现,其中,电子设备可以为不同型号的手机、智能手表、智能电视等可以配置第一算法的电子设备,如图9所示,图9示出了第三测试结果的流程示意图,当算法测试平台需要获取第三测试结果的时候,向不同的电子设备请求承载设备资源,承载设备反馈可以进行第一算法的下载安装的电子设备,电子设备下载并安装第一算法的软件开发程序包(SDK,Software Development Kit),在电子设备上由第一算法处理第一数据集生成第三处理结果,在实际应用中,第三处理结果可以通过第一数据接口返回至算法测评平台,由算法测评平台对第三处理结果进行分析,得到第三测试结果,也可以由电子设备对第三处理结果进行分析得到第三测试结果后,再通过数据接口将第三测试结果返回至算法测评平台,第三测试结果是将第三处理结果与第一标注集进行对比分析后得到的。
在一实施例中,所述第一信息还包括第二测试结果;所述第二测试结果基于对应的电子设备通过第一序列确定;所述第一序列由所述第一算法处理所述第一数据集得到的处理结果与由第三算法处理所述第一数据集得到的处理结果组成;所述第三算法表征与所述第一算法的算法功能相同的算法。
这里,数据接口获取的第一信息中包括第二测试结果,第二测试结果是用户对第一算法效果的主观评估生成的,在算法客观指标难以体现第一算法的能力的时候,还需要对第一算法进行主观评估,算法测试平台可以将在服务器上第一算法对第一数据集生成的处理结果下发到不同用户终端上,由用户终端对处理结果进行评价,进而生成第二测试结果。
在实际应用中,除了将第一算法处理第一数据集得到的第四处理结果下发至用户终端外,还可以将第三算法处理处理第一数据集得到的第五处理结果下发至用户终端,其中,第三算法是指与第一算法的算法功能相同的算法,示例地,第一算法用于进行图像识别,第三算法可以为同样实现图像识别的其他算法,第三算法为第一算法的竞品算法。第四处理结果与第五处理结果处于同一个序列中,通过第一序列将第四处理结果与第五处理结果下发至不同的用户终端,其中,在生成第一序列时,需要将第四处理结果与第五处理结果进行混淆,防止用户终端在对第一序列中的处理结果进行评价时产生默认依赖,导致生成的第二测试结果精确度下降。
用户终端对第一序列中的每个处理结果进行评价的时候存在多种方式,示例地,用户终端可以评价第一序列中的每个处理结果的优劣,在这种评价方式中,用户终端只能在两个选项中进行选择,或者,用户终端对第一序列中每个处理结果进行评分,根据分数的大小来确定处理结果的优劣,示例地,用户终端在0~5的范围内,为每个处理结果进行评分,从而生成第二测试结果,生成的第二测试结果可以存放到设定数据库中。
在一实施例中,如图10所示,在所述获取所述至少一个电子设备中每个电子设备对应的第一信息之后,所述方法还包括:
S1001:根据第四算法对所述第二测试结果进行检测,生成第一检测结果;所述第四算法用于检测所述第二测试结果是否存在异常。
这里,由于第二测试结果是用户终端对第一序列进行评价而生成的,而用户终端的评价行为不可控,为了保证第二测试结果的有效性,在用户终端评价第一序列之前,会向用户终端介绍相应的规则与指引,以降低用户终端的评价行为的盲目性与随意性,为了进一步地确定第二测试结果的可靠性,还可以通过第四算法对第二测试结果进行检测,在实际应用中,用户终端的评价行为可以影响第二测试结果的准确性,因此可以对用户终端的评价行为进行忠诚度校验,防止用户终端评价行为的随意性,导致生成的第二测试结果不可靠,在实际应用中,可以通过用户终端的操作行为的识别、埋点捕捉、或者偏离评估曲线等方式得到第一检测结果。
S1002:在所述第一检测结果表征所述第二测试结果存在异常的情况下,向返回所述第二测试结果的电子设备发送第二信息;所述第二信息用于指示电子设备重新生成第二测试结果。
这里,如果第二测试结果存在异常的情况下,表示用户终端的评价行为存在随意性,对应生成的第二测试结果不可取,可以向生成第二测试结果的电子设备发送第二信息,提示用户终端的评价行为存在异常,并要求用户终端对第一序列重新进行评价,重新生成第二测试结果,从而能够保证第二测试结果的可靠性,进而确保对第一算法的评价结果的可靠性。
在一实施例中,所述方法还包括:
根据所述第二测试结果与所述第一检测结果,对所述第四算法进行迭代。
这里,还可以根据第二测试结果与第一检测结果进行数据沉淀,根据第二测试结果与第一检测结果,刻画用户终端的评价行为,进一步地对第四算法进行迭代,从而能够更好地识别用户终端在生成第二测试结果的评价行为是否可靠,进而可以提高第二测试结果的准确性,能够更加全面地对第一算法进行评价。
如图11所示,图11示出了生成第二测试结果的流程示意图,当电子设备接收到测试请求之后,基于第一算法对第一数据集进行处理生成第四处理结果,基于第三算法对第一数据集进行处理生成第五处理结果,将第四处理结果与第五处理结果进行混淆生成第一序列,将第一序列下发至不同的电子设备,向用户发放评测规则与评测指引,以提高用户的评价行为的可靠性,在通过用户的评价行为生成第二测试结果之后,还可以将第二测试结果与专家对第一序列进行评价得到的测试结果作进一步的比较,生成新的评价指标,此外,还需要判断第二测试结果是否存在异常,如果第二测试结果不存在异常,将第二测试结果存储到设定数据库中。
S204:基于获取到的第一信息确定是否需要对所述第一算法进行迭代。
这里,根据第一算法在不同维度上的测试结果,可以从不同维度对第一算法的算法能力进行全面的评估,如果根据获取到的第一信息确定第一算法的算法能力已经达到预期水平的情况下,可以停止对第一算法的迭代,如果获取到的第一信息表征第一算法的算法能力未能达到预期水平的情况下,需要对第一算法继续迭代。在实际应用中,还可以将基于第一信息生成报表,提供报表下载接口,使用户可以对第一算法的测评结果进行下载,通过报表直观地输出第一算法的测评结果,其中,报表可以含有第一算法的单类评估、第一算法的压力测试报告等相关信息。在实际应用中,还可以基于第一算法的历史第一信息进行分析,生成决策模型,基于决策模型对第一信息进行分析,判断第一算法是否需要继续迭代。
在上述实施例中,通过在不同电子设备上根据第一标注集和第一算法处理第一数据集得到的处理结果进行分析,生成第一算法在不同维度上的测试结果,进而能够全面地对第一算法的能力进行评价,并且能够提高对第一算法的评价结果的准确性,从而能够提高第一算法的实现效果。
本申请还提供一应用实施例,如图12所示,图12为一种算法测试平台的框架图,算法测试平台由四个模块组成,分别为数据集制作模块、待测算法部署模块、待测算法评估模块与分析模块,其中,数据集制作模块完成数据采集录入、数据存储与数据标注,生成第一数据集和第一标注集,其中,第一数据集用于在对第一算法进行测评的时候调取,第一标注集用于在对第一算法进行评估的时候调取。算法部署模块用于进行被测算法的部署,实现部署任务自动编排,并将部署信息注册到Redis中供第一算法查询。待测算法评估模块会对第一算法进行四个不同维度的测评,包括对部署在服务端的第一算法进行评估,得到客观评估的第一测试结果,还包括通过调用网络上竞品算法提供的接口,评估竞品算法的算法能力。在对第一算法进行客观评估难以体现第一算法的能力的时候,还需要对第一算法进行主观评估生成第二测试结果。此外,第一算法在配置到不同的电子设备上的时候,第一算法的算法模型可能会被修改,需要对第一算法在具体承载设备上的表现能力进行评估,生成第三测试结果。分析模块用于对第一算法的不同测试结果进行分析,生成测试报告并决策算法是否需要继续迭代。
为实现本申请实施例的方法,本申请实施例还提供了一种算法测试装置,图13为本申请实施例提供的算法测试装置的示意图,请参见图13,该装置包括:
生成单元1301,用于生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果;
配置单元1302,用于在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;
获取单元1303,用于获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出;
确定单元1304,用于基于获取到的第一信息确定是否需要对所述第一算法进行迭代。
在一实施例中,所述生成单元1301在生成第一标注集时,还用于:
基于第二算法对所述第一数据集进行标注,生成所述第一数据集中每个数据对应的第一标注结果;所述第二算法表征基于所述第一算法配置的用于数据标注的算法;
基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集。
在一实施例中,所述生成单元1301在基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集时,还用于:
根据第二标注集与第一特征,生成至少一个第二标注结果;所述第二标注集表征所述第一数据集中每个数据对应的第一标注结果组成的集合;所述第一特征表征所述第一算法的应用场景;
基于所述第二标注集与所述至少一个第二标注结果,生成所述第一标注集。
在一实施例中,所述第一信息还包括第二测试结果;所述第二测试结果基于对应的电子设备通过第一序列确定;所述第一序列由所述第一算法处理所述第一数据集得到的处理结果与由第三算法处理所述第一数据集得到的处理结果组成;所述第三算法表征与所述第一算法的算法功能相同的算法。
在一实施例中,在生成单元1301所述获取所述至少一个电子设备中每个电子设备对应的第一信息之后,所述装置还用于:
根据第四算法对所述第二测试结果进行检测,生成第一检测结果;所述第四算法用于检测所述第二测试结果是否存在异常;
在所述第一检测结果表征所述第二测试结果存在异常的情况下,向返回所述第二测试结果的电子设备发送第二信息;所述第二信息用于指示电子设备重新生成第二测试结果。
在一实施例中,所述装置还用于:
根据所述第二测试结果与所述第一检测结果,对所述第四算法进行迭代。
在一实施例中,所述配置单元1302在至少一个电子设备中的每个电子设备上配置所述第一算法时,还用于:
获取电子设备对应的性能参数;
在所述电子设备对应的性能参数满足运行所述第一算法所需要的资源的情况下,在所述电子设备上配置所述第一算法。
实际应用时,生成单元1301、配置单元1302、获取单元1303、获取单元1304可由算法测试装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图13实施例提供的算法测试装置在进行算法测试时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的算法测试装置与算法测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图14为本申请实施例电子设备的硬件组成结构示意图,如图14所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的算法测试方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图14中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种算法测试方法,其特征在于,包括:
生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果;所述第一数据集来源于所述第一算法在上次迭代过程中生成的迭代数据与网络上采集得到关于所述第一算法的数据;
在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;
获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出;
基于获取到的第一信息确定是否需要对所述第一算法进行迭代;
在生成第一标注集时,所述方法包括:
基于第二算法对所述第一数据集进行标注,生成所述第一数据集中每个数据对应的第一标注结果;所述第二算法表征基于所述第一算法配置的用于数据标注的算法;
根据第二标注集与第一特征,生成至少一个第二标注结果;所述第二标注集表征所述第一数据集中每个数据对应的第一标注结果组成的集合;所述第一特征表征所述第一算法的应用场景;
基于所述第二标注集与所述至少一个第二标注结果,生成所述第一标注集。
2.根据权利要求1所述的方法,其特征在于,所述第一信息还包括第二测试结果;所述第二测试结果基于对应的电子设备通过第一序列确定;所述第一序列由所述第一算法处理所述第一数据集得到的处理结果与由第三算法处理所述第一数据集得到的处理结果组成;所述第三算法表征与所述第一算法的算法功能相同的算法。
3.根据权利要求2所述的方法,其特征在于,在所述获取所述至少一个电子设备中每个电子设备对应的第一信息之后,所述方法还包括:
根据第四算法对所述第二测试结果进行检测,生成第一检测结果;所述第四算法用于检测所述第二测试结果是否存在异常;
在所述第一检测结果表征所述第二测试结果存在异常的情况下,向返回所述第二测试结果的电子设备发送第二信息;所述第二信息用于指示电子设备重新生成第二测试结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述第二测试结果与所述第一检测结果,对所述第四算法进行迭代。
5.根据权利要求1所述的方法,其特征在于,所述在至少一个电子设备中的每个电子设备上配置所述第一算法时,所述方法包括:
获取电子设备对应的性能参数;
在所述电子设备对应的性能参数满足运行所述第一算法所需要的资源的情况下,在所述电子设备上配置所述第一算法。
6.一种算法测试装置,其特征在于,包括:
生成单元,用于生成第一数据集和第一标注集;所述第一标注集表征对所述第一数据集中每个数据关于第一算法的标注结果;所述第一数据集来源于所述第一算法在上次迭代过程中生成的迭代数据与网络上采集得到关于所述第一算法的数据;
配置单元,用于在至少一个电子设备中的每个电子设备上配置所述第一算法;所述电子设备包括服务器;
获取单元,用于获取所述至少一个电子设备中每个电子设备对应的第一信息;所述第一信息表征在对应的电子设备上通过所述第一算法处理所述第一数据集时得到的至少一个维度的测试结果;所述至少一个维度的测试结果至少包括第一测试结果;所述第一测试结果基于所述第一标注集和对应的电子设备通过所述第一算法处理所述第一数据集得到的处理结果确定出;
确定单元,用于基于获取到的第一信息确定是否需要对所述第一算法进行迭代;
所述生成单元在生成第一标注集时,还用于:基于第二算法对所述第一数据集进行标注,生成所述第一数据集中每个数据对应的第一标注结果;所述第二算法表征基于所述第一算法配置的用于数据标注的算法;基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集;
所述生成单元在基于所述第一数据集中每个数据对应的第一标注结果,处理得到所述第一标注集时,还用于:根据第二标注集与第一特征,生成至少一个第二标注结果;所述第二标注集表征所述第一数据集中每个数据对应的第一标注结果组成的集合;所述第一特征表征所述第一算法的应用场景;基于所述第二标注集与所述至少一个第二标注结果,生成所述第一标注集。
7.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
CN202111091500.7A 2021-09-17 2021-09-17 算法测试方法、装置、电子设备及存储介质 Active CN113836012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111091500.7A CN113836012B (zh) 2021-09-17 2021-09-17 算法测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111091500.7A CN113836012B (zh) 2021-09-17 2021-09-17 算法测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113836012A CN113836012A (zh) 2021-12-24
CN113836012B true CN113836012B (zh) 2024-05-03

Family

ID=78959768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111091500.7A Active CN113836012B (zh) 2021-09-17 2021-09-17 算法测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113836012B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124920A (zh) * 2019-12-24 2020-05-08 北京金山安全软件有限公司 设备性能测试方法、装置及电子设备
CN111144493A (zh) * 2019-12-27 2020-05-12 重庆紫光华山智安科技有限公司 一种自动识别算法指标测试的方法、存储介质及电子终端
CN111176990A (zh) * 2019-12-23 2020-05-19 深圳壹账通智能科技有限公司 基于数据决策的测试数据生成方法、装置、计算机设备
US10719301B1 (en) * 2018-10-26 2020-07-21 Amazon Technologies, Inc. Development environment for machine learning media models
CN112257733A (zh) * 2019-10-25 2021-01-22 北京沃东天骏信息技术有限公司 一种模型迭代方法、第二电子设备及存储介质
CN112527676A (zh) * 2020-12-23 2021-03-19 中移(杭州)信息技术有限公司 模型自动化测试方法、装置及存储介质
CN113032269A (zh) * 2021-03-31 2021-06-25 杭州群核信息技术有限公司 智能设计数据的测试方法、装置、存储介质和电子设备
CN113128115A (zh) * 2021-04-16 2021-07-16 Oppo广东移动通信有限公司 地铁运行状态的预测及模型的训练方法、装置及存储介质
WO2021164712A1 (zh) * 2020-02-19 2021-08-26 Oppo广东移动通信有限公司 位姿跟踪方法、可穿戴设备、移动设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275677B2 (en) * 2019-08-27 2022-03-15 Netflix, Inc. High efficiency interactive testing platform

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719301B1 (en) * 2018-10-26 2020-07-21 Amazon Technologies, Inc. Development environment for machine learning media models
CN112257733A (zh) * 2019-10-25 2021-01-22 北京沃东天骏信息技术有限公司 一种模型迭代方法、第二电子设备及存储介质
CN111176990A (zh) * 2019-12-23 2020-05-19 深圳壹账通智能科技有限公司 基于数据决策的测试数据生成方法、装置、计算机设备
CN111124920A (zh) * 2019-12-24 2020-05-08 北京金山安全软件有限公司 设备性能测试方法、装置及电子设备
CN111144493A (zh) * 2019-12-27 2020-05-12 重庆紫光华山智安科技有限公司 一种自动识别算法指标测试的方法、存储介质及电子终端
WO2021164712A1 (zh) * 2020-02-19 2021-08-26 Oppo广东移动通信有限公司 位姿跟踪方法、可穿戴设备、移动设备以及存储介质
CN112527676A (zh) * 2020-12-23 2021-03-19 中移(杭州)信息技术有限公司 模型自动化测试方法、装置及存储介质
CN113032269A (zh) * 2021-03-31 2021-06-25 杭州群核信息技术有限公司 智能设计数据的测试方法、装置、存储介质和电子设备
CN113128115A (zh) * 2021-04-16 2021-07-16 Oppo广东移动通信有限公司 地铁运行状态的预测及模型的训练方法、装置及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Computer-aided Pathological Annotation Framework: A Deep Learning-Based Diagnostic Algorithm of Lung Cancer;Yifan He 等;《2019 International Conference on Information Technology and Computer Application (ITCA)》;第110-113页 *
基于深度学习的目标检测算法研究;罗佳齐;《中国优秀硕士学位论文全文数据库 信息科技辑》(第8期);第I138-512页 *
基于深度神经网络的图像标注算法研究;杜晓宇;《中国博士学位论文全文数据库信息科技辑》(第4期);第I138-22页 *

Also Published As

Publication number Publication date
CN113836012A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN108073519B (zh) 测试用例生成方法和装置
CN108427613B (zh) 异常接口定位方法、装置、计算机设备和存储介质
WO2019051941A1 (zh) 车型识别方法、装置、设备及计算机可读存储介质
CN107798047B (zh) 重复工单检测方法、装置、服务器和介质
CN108491321B (zh) 测试用例范围确定方法、装置及存储介质
CN110502442B (zh) 动态参数校验方法、装置、设备和存储介质
CN110908888B (zh) 服务器测试方法及装置
CN111124871A (zh) 接口测试方法及装置
CN116245074A (zh) 芯片验证方法、设备及存储介质
CN113282513A (zh) 接口测试案例的生成方法、装置、计算机设备及存储介质
CN113516251B (zh) 一种机器学习系统及模型训练方法
CN113836012B (zh) 算法测试方法、装置、电子设备及存储介质
CN112447167A (zh) 语音识别模型验证方法、装置、计算机设备和存储介质
CN111338958A (zh) 一种测试用例的参数生成方法、装置及终端设备
CN112241362A (zh) 一种测试方法、装置、服务器及存储介质
CN115051824B (zh) 一种垂直越权检测方法、系统、设备及存储介质
CN111385342B (zh) 一种物联网行业识别方法、装置、电子设备及存储介质
CN114168108A (zh) 代码合并方法、装置、电子设备和计算机可读存储介质
CN110177006B (zh) 基于接口预测模型的节点测试方法及装置
CN111552634A (zh) 前端系统的测试方法、装置及存储介质
CN112560035B (zh) 应用检测方法、装置、设备及存储介质
CN113408845B (zh) 生产流程的处理方法、装置、计算机设备和存储介质
CN111914820B (zh) 资质审核方法及装置
CN113590467B (zh) 数据比对方法、系统、计算机设备及计算机可读存储介质
CN110020670B (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
GR01 Patent grant