一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种测试方法、装置及设备

2022-06-11 13:46:57 来源:中国专利 TAG:


1.本发明实施例涉及计算机领域,具体涉及一种测试方法、装置及设备。


背景技术:

2.在强化学习算法的研究过程中,算法研究人员需要对训练模型进行多次测试,以不断验证、改进从而得到相对较完善的训练模型。
3.由于强化学习的训练模型是由对应的强化学习算法得到,当强化学习算法改变时,训练模型涉及的测试点对应的测试信息以及测试目标也随之发生改变。现有的测试方法灵活性较差,无法兼容多种强化学习算法或者进行多种测试内容的测试,针对不同的训练模型需要制定不同的测试方法,这样就需要针对每个新的训练模型,或者对处于每个新的应用场景下的测试模型进行单独测试。并且,现阶段对于强化学习的训练模型测试通常采用人工测试或自动化程度较低的方式,由于每个训练模型的待测试点位较多导致测试工作量较大,造成测试效率偏低。


技术实现要素:

4.本技术实施例提供了一种测试方法及系统,以解决现有测试兼容性弱,以及测试效率低的问题。
5.第一方面,本技术实施例提供了一种测试方法,所述方法包括:获取至少一个测试需求,分别依据每个测试需求调用预设在测试方案库中与相应测试需求对应的测试方案,得到至少一个目标测试方案;获取至少一个算法信息,分别依据每个算法信息调用预设在决策指标规则库中与相应算法信息对应的决策指标规则,得到至少一个目标决策指标规则;依据每个目标测试方案以及所述每个算法信息对应的目标决策指标规则进行测试,得到至少一个测试报告;分析所述至少一个测试报告,得到目标测试报告。
6.在一些可能的实施方式中,在获取至少一个测试点信息之前,所述方法包括:获取至少一个算法启动命令,并将每个所述算法启动命令加载成统一格式字符串用于启动每个所述算法启动命令对应的算法。
7.在一些可能的实施方式中,每个所述测试方案包括:方案名称以及至少一个测试用例,所述测试用例包括:待测试点位信息以及每个待测试点位信息对应的测试内容。
8.在一些可能的实施方式中,获取至少一个算法信息后,得到至少一个目标决策指标规则之前,还包括:依据决策规则库的定义内容与所述算法信息的对应关系,调用与相应算法信息对应的决策指标规则。
9.在一些可能的实施方式中,所述算法信息包括:算法类型。
10.在一些可能的实施方式中,所述决策指标库定义内容包括:算法类型、决策指标提取规则、算法收敛阈值以及算法训练最大时间。
11.在一些可能的实施方式中,每个测试方案之间独立运行,互不影响。
12.第二方面,本技术实施例还提供了一种测试装置,所述装置包括:第一获取模块,用于获取至少一个测试需求,分别依据每个测试需求调用预设在测试方案库中与相应测试需求对应的测试方案,得到至少一个目标测试方案;第二获取模块,用于获取至少一个算法信息,分别依据每个算法信息调用预设在决策指标规则库中与相应算法信息对应的决策指标规则,得到至少一个目标决策指标规则;测试模块,用于依据每个目标测试方案以及所述每个算法信息对应的目标决策指标规则进行测试,得到至少一个测试报告;分析模块,用于分析所述至少一个测试报告,得到目标测试报告。
13.第三方面,本技术实施例还提供了一种电子设备,所诉电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存储有可执行指令,所述可执行指令运行时使所述处理器执行第一方面或者第二方面任一可能的实施方式中的测试方法。
14.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质中存储有可执行指令,所述可执行指令运行时使计算设备执行第一方面或者第二方面任一可能的实施方式中的测试方法。
15.本技术实施例提供了一种测试方法,本方案中,测试系统在获取测试需求后,依据测试需求,调用预设在测试方案库中相应的目标测试方案,同时测试系统在获取算法信息后,依据算法信息,调用预设在决策指标规则库的目标决策指标规则,并使用目标测试方案以及目标决策指标规则进行测试,得到每个测试节点的测试报告,最后将所有测试节点的测试报告进行分析汇总,得到测试模型整体的测试报告。由于对于所用的测试方案以及决策指标规则都预先存储到相应的数据库中,并且可以增加和修改,这样,如果测试方案以及目标决策指标规则各自的数据库中存储的数据足够多,在面对新的测试模型或者测试模型的应用场景发生改变时,无需单独对测试模型进行测试规划,只需从相应的数据库中调用相应的测试方案或者决策指标规则来满足测试需求即可。因此提高了测试方法的灵活性,并且由于减少了人工参与,也提升了测试效率。
附图说明
16.图1是本技术实施例提供的测试方法流程示意图;图2是本技术实施例提供的测试方法分布式工作流程示意图;图3是本技术实施例提供的测试方法结构示意图;图4是本技术实施例提供的策略模型训练方法装置示意图;图5是本技术实施例提供的策略模型训练电子设备示意图。
具体实施方式
17.本技术以下实施例中所使用的术语是为了描述可选实施方式的目的,而非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形
式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式。还应当理解,尽管在以下实施例中可能采用术语第一、第二等来描述某一类对象,但所述对象不限于这些术语。这些术语用来将该类对象的具体对象进行区分。例如,以下实施例中可能采用术语第一、第二等来描述的其他类对象同理,此处不再赘述。
18.本技术实施例提供了一种测试方法,本方案中,测试系统在获取测试需求后,依据测试需求,调用预设在测试方案库中相应的目标测试方案,同时测试系统在获取算法信息后,依据算法信息,调用预设在决策指标规则库的目标决策指标规则,并使用目标测试方案以及目标决策指标规则进行测试,得到每个测试节点的测试报告,最后将所有测试节点的测试报告进行分析汇总,得到测试模型整体的测试报告。由于对于所用的测试方案以及决策指标规则都预先存储到相应的数据库中,并且可以增加和修改,这样,如果测试方案以及目标决策指标规则各自的数据库中存储的数据足够多,在面对新的测试模型或者测试模型的应用场景发生改变时,无需单独对测试模型进行测试规划,只需从相应的数据库中调用相应的测试方案或者决策指标规则来满足测试需求即可。因此提高了测试方法的灵活性,并且由于减少了人工参与,也提升了测试效率。
19.本技术实施例提供的测试方法可以由一个电子设备执行,也可以由计算机集群执行。该计算机集群包括至少两个支持本技术实施例的测试方法的电子设备,任一电子设备可通过测试方法实现本技术实施例所描述的算法训练模型测试的功能。
20.本技术实施例设计的任一电子设备可以是诸如手机、平板电脑、可穿戴设备(例如,智能手表、只能手环等)、笔记本电脑、台式计算机和车载设备等电子设备。该电子设备预先安装有策略模型训练应用程序。可以理解的是,本技术实施例对电子设备的具体类型不作任何限制。
21.在强化学习(reinforcement learning,rl)算法的研究过程中,算法研究人员需要对训练模型进行多次测试,以不断验证、改进从而得到相对较完善的训练模型。
22.由于强化学习的训练模型是由对应的强化学习算法得到,当强化学习算法改变时,训练模型涉及的测试点对应的测试信息以及测试目标也随之发生改变。现有的测试方法灵活性较差,无法兼容多种强化学习算法或者进行多种测试内容的测试,针对不同的训练模型需要制定不同的测试方法,这样就需要针对每个新的训练模型,或者对处于每个新的应用场景下的测试模型进行单独测试。并且,现阶段对于强化学习的训练模型测试通常采用人工测试或自动化测试程度较低的方式,由于每个训练模型的待测试点位较多导致测试工作量较大,造成测试效率偏低。
23.下面是对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。
24.参见图1,图1是本技术实施例提供的测试方法流程示意图,包括以下步骤:获取至少一个测试需求,分别依据每个测试需求调用预设在测试方案库中与相应测试需求对应的测试方案,得到至少一个目标测试方案;获取至少一个算法信息,分别依据每个算法信息调用预设在决策指标规则库中与相应算法信息对应的决策指标规则,得到至少一个目标决策指标规则;依据每个目标测试方案以及所述每个算法信息对应的目标决策指标规则进行测试,得到至少一个测试报告;
分析所述至少一个测试报告,得到目标测试报告。
25.可选的,现阶段通过对rl算法的研究,可以得出通常对于rl算法训练模型测试内容包括:修改rl算法后的程序是否会出现编译、启动、运行等异常、是否能正常运行到算法训练部分;对训练过程中的决策指标值收集并绘制过程动图,测试算法是否能训练收敛、计算收敛时的性能指标(性能指标具体包括:神经网络更新次数、收敛时间、决策指标值等);当算法研究员对某个rl算法提出多种改进方案后,测试出性能最优的改进方案。这样,用户可以根据自身测试目标自定义配置测试方案,由于每个测试方案的执行是由测试目标确定的,在某一测试目标下需要执行相应的测试方案时,只要为每个测试方案对用户提供接口,那么用户就可以调用该测试方案下的测试用例(或由多个测试用例构成的测试用例集)并自动化运行。
26.一种可能的实施方式中,在获取至少一个测试点信息之前,所述方法包括:获取至少一个算法启动命令,并将每个所述算法启动命令加载成统一格式字符串用于启动每个所述算法启动命令对应的算法。由于rl算法的编程语言种类较多,因此需要对启动命令设计配置化的运行方式,即为程序的启动方式提供输入接口,测试框架通过加载这些命令并运行的方式来启动rl算法程序。
27.一种可能的实施方式中,每个测试方案包括:方案名称(也被称为测试类型,被设置为测试方案的索引值)以及至少一个测试用例,所述测试用例包括:待测试点位信息以及每个待测试点位信息对应的测试内容。
28.示例性的,在构建测试方案库中,设定所述方案名称包括:异常测试、收敛性能测试以及方案对比测试,每个所述方案名称对应一个测试方案,在每个所述测试方案中会包含至少一个测试用例,所述测试用例通常被理解为测试过程中设定的测试点以及测试点对应的测试内容。对于上述方案名称,通常内部包括测试用例如下:所述异常测试包括:编译程序是否出现异常、启动程序是否异常以及程序是否能进入训练阶段;所述收敛性能测试包括:编译程序是否出现异常、启动程序是否异常、算法训练是否能收敛以及计算算法收敛时的性能指标(具体包括神经网络更新次数、收敛时间以及决策指标等);所述方案比对测试包括:编译程序是否出现异常、启动程序是否异常、计算算法收敛时的性能指标(具体包括神经网络更新次数、收敛时间以及决策指标等)以及对比所有方案的性能指标,综合所有性能指标排序得出最优算法方案。
29.可选的,对于每个方案下的测试用例还可以人员设定能够区分的编码特征。
30.一种可能的实施方式中,所述决策指标库定义内容包括:算法类型、决策指标提取规则、算法收敛阈值以及算法训练最大时间。所述决策指标库定义了某个场景下与决策指标规则、rl算法收敛阈值、rl算法训练最大时间等的意义对应关系。这样,当所述决策指标库对外提供接口时,用户可以通过输入rl算法类型实现调用该类型下的决策指标规则。
31.示例性的,由于不同的rl算法或者同一个rl算法在不同的应用场景下的决策目标是不同的,因此,我们需要构建一个决策指标规则库,用来解决此问题,对于所述决策指标规则库,需要定义的要素内容包括:rl算法类型,所述rl算法类型包括rl算法名称和应用场景,例如优势动作评论算
法(advantage actor critic,a2c)在a场景(此处a仅作为指代场景内容,不作为限定)下的研究,其类型可以被定义为:a2c_a;决策指标提取规则,所述决策指标提取规则包括决策指标名称和决策指标名称在输出日志中匹配的正则表达式构成,所述决策指标提取规则可以为json格式;rl算法收敛阈值,所述rl算法收敛阈值为用户自定义的判断算法收敛时的最小经验值;rl算法训练最大时间,所述rl算法训练最大时间为用户自定义的rl算法训练的最长时间。
32.一种可能的实施方式中,用户面对多个测试方案运行时,可以采用分布式运行模式,具体如图2所示,图中每个测试节点相当于需要测试的训练模型的外接设备,每个测试方案相当于外接设备对应的一个任务,例如:节点1收到的任务为测试在a场景下(此处以及下文中a仅指代场景内容,不做限定)训练模型的收敛性能测试,对应测试方案1(测试方案2可以代表其它的测试内容);节点2收到的测试任务为在a场景下的方案对比测试,对应测试方案2n 1(测试方案2n 1可以代表其它的测试内容)。节点1与节点2由于是分布式结构设计,所以所述节点1与所述节点2在处理对应的测试方案的过程相互独立,互不影响。
33.可选的,此处以节点1为例,执行所述收敛性能测试的过程包括:加载用户配置的启动命令并运行;获取至少一个测试需求,分别依据每个测试需求调用预设在测试方案库中与相应测试需求对应的测试方案,得到至少一个目标测试方案;获取至少一个算法信息,分别依据每个算法信息调用预设在决策指标规则库中与相应算法信息对应的决策指标规则,得到至少一个目标决策指标规则;依据每个目标测试方案以及所述每个算法信息对应的目标决策指标规则进行测试,得到至少一个测试报告;分析所述至少一个测试报告,得到目标测试报告。
34.可选的,最终目标测试报告可采用图表等可视化方式呈现。
35.明显的,节点2对应的测试方案执行过程同节点1类似,此处不再一一赘述。
36.在本技术的另一方面,本技术实施例还提供了一种测试架构,适用于上述测试方法,架构包括基础层、配置层、计算层以及应用层;所述基础层用于部署决策指标规则库以及测试用例库,所述决策指标规则库用于存储决策指标规则以及配合系统输出目标决策指标规则,所述测试用例库用于存储测试方案以及系统所用测试用例;所述配置层用于根据测试需求,为对应测试需求相应内容的设计测试条件,所述相应内容包括:算法类型、程序源码、测试方案以及程序运行指令定义等;所述计算层用于基于决策指标规则库、测试用例库以及配置层的约束条件,通过调用测试方案对外接口自动执行该方案下的所有测试用例,每个测试方案执行完成后生成初始的测试报告(相当于上述测试报告)并存储到数据库;所述应用层用于对计算层输出的初始测试报告(相当于上述测试报告)汇总,生成最终的测试报告(相当于上述目标测试报告),首先需要对目标测试报告进行可视化展示,并且还可以对部分测试报告进行分析。
37.本技术实施例提供了一种测试方法,本方案中,测试系统在获取测试需求后,依据测试需求,调用预设在测试方案库中相应的目标测试方案,同时测试系统在获取算法信息后,依据算法信息,调用预设在决策指标规则库的目标决策指标规则,并使用目标测试方案以及目标决策指标规则进行测试,得到每个测试节点的测试报告,最后将所有测试节点的测试报告进行分析汇总,得到测试模型整体的测试报告。由于对于所用的测试方案以及决策指标规则都预先存储到相应的数据库中,并且可以增加和修改,这样,如果测试方案以及目标决策指标规则各自的数据库中存储的数据足够多,在面对新的测试模型或者测试模型的应用场景发生改变时,无需单独对测试模型进行测试规划,只需从相应的数据库中调用相应的测试方案或者决策指标规则来满足测试需求即可。因此提高了测试方法的灵活性,并且由于减少了人工参与,也提升了测试效率。
38.上述实施例从依据测试需求得到目标测试方案,依据算法信息得到目标决策指标规则,依据目标测试方案以及目标决策指标规则得到测试报告以及根据测试报告得到目标测试报告等电子设备所执行的动作逻辑和学习算法处理角度,对本技术实施例提供的测试方法的各实施方式进行了介绍。应理解,对应依据测试需求得到目标测试方案,依据算法信息得到目标决策指标规则,依据目标测试方案以及目标决策指标规则得到测试报告以及根据测试报告得到目标测试报告等的处理步骤,本技术实施例可以以硬件或硬件和计算机软件的结合形式来实现上述功能。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
39.例如,若上述实现步骤通过软件模块来实现相应的功能,如图4所示,策略模型训练装置可以包括:第一获取模块、第二获取模块、测试模块以及分析模块,所述第一获取模块,用于获取至少一个测试需求,分别依据每个测试需求调用预设在测试方案库中与相应测试需求对应的测试方案,得到至少一个目标测试方案;所述第二获取模块,用于获取至少一个算法信息,分别依据每个算法信息调用预设在决策指标规则库中与相应算法信息对应的决策指标规则,得到至少一个目标决策指标规则;所述测试模块:用于依据每个目标测试方案以及所述每个算法信息对应的目标决策指标规则进行测试,得到至少一个测试报告;所述分析模块:用于分析所述至少一个测试报告,得到目标测试报告。
40.可以理解的是,以上各个模块/单元的划分仅仅是一种逻辑功能的划分,实际实现时,以上各模块的功能可以集成到硬件实体实现,例如,第一获取模块以及第二获取模块可以集成到收发器上实现,测试模块以及分析模块可以集成到处理器实现,实现上述各模块功能的程序和指令,可以维护在存储器中。例如,图5提供了一种电子设备,该电子设备包括可以包括处理器、收发器和存储器。其中,收发器用于对测试结果获取。存储器可以用于存储测试过程中产生的过程数据,也可以存储用于处理器执行的代码等。当处理器运行存储器存储的代码过程中,使得电子设备执行上述方法中测试方法的部分或全部操作。
41.具体实现过程详见上述方法示意的实施例所述,此处不再详述。
42.具体实现中,对应前述电子设备,本技术实施例还提供一种计算机存储介质,其
中,设置在电子设备中的计算机存储介质可存储有程序,该程序执行时,可实施包括多智能体学习方法的各实施例中的部分或全部步骤。该存储介质均可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
43.以上模块或单元的一个或多个可以软件、硬件或二者结合来实现。当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令并实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,cpu)、微处理器、数字信号处理器(dsp)、微控制器(microcontroller unit,mcu)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以内置于soc(片上系统)或专用集成电路(application specific integrated circuit,asic),也可是一个独立的半导体芯片。该处理器内处理用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,fpga)、pld(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
44.当以上模块或单元以硬件实现的时候,该硬件可以是cpu、微处理器、dsp、mcu、人工智能处理器、asic、soc、fpga、pld、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。
45.进一步的,图5中还可以包括总线接口,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器提供用于在传输介质上与各种其他设备通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。
46.当以上模块或单元使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk (ssd))等。
47.应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对实施例的实施过程构成任何限定。
48.本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系
统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
49.尽管已描述了本技术的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
50.以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本技术的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献