CN115525554A - 模型的自动化测试方法、系统及存储介质 - Google Patents

模型的自动化测试方法、系统及存储介质 Download PDF

Info

Publication number
CN115525554A
CN115525554A CN202211185715.XA CN202211185715A CN115525554A CN 115525554 A CN115525554 A CN 115525554A CN 202211185715 A CN202211185715 A CN 202211185715A CN 115525554 A CN115525554 A CN 115525554A
Authority
CN
China
Prior art keywords
test
automatic test
automatic
algorithm
node
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.)
Granted
Application number
CN202211185715.XA
Other languages
English (en)
Other versions
CN115525554B (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.)
Beijing Real AI Technology Co Ltd
Original Assignee
Beijing Real AI 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 Beijing Real AI Technology Co Ltd filed Critical Beijing Real AI Technology Co Ltd
Priority to CN202211185715.XA priority Critical patent/CN115525554B/zh
Publication of CN115525554A publication Critical patent/CN115525554A/zh
Application granted granted Critical
Publication of CN115525554B publication Critical patent/CN115525554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3664Environments for testing or debugging software
    • 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/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

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

Abstract

本申请实施例涉及自动化测试领域,并提供模型的自动化测试方法、系统及存储介质,方法包括主节点获取测试配置参数,并根据测试配置参数生成自动化测试任务集;至少一个算法节点先根据自动化测试任务集进行测试得到自动化测试结果集,然后获取自动化测试结果集中具有最短测试所需时长或每秒查询率的目标自动化测试结果,最后获取目标自动化测试结果对应的目标自动化测试子任务及其测试配置参数作为推荐测试配置参数。本方案使得主节点基于测试配置参数生成自动化测试任务集,无需针对每一个自动化测试任务手动配置测试参数,而且自动化测试任务集是由主节点自动分发至算法节点进行测试,可以降低操作难度的同时更加高效的获取测试结果。

Description

模型的自动化测试方法、系统及存储介质
技术领域
本申请实施例涉及自动化测试技术领域,尤其涉及模型的自动化测试方法、系统及存储介质。
背景技术
在对现有技术的研究和实践过程中,本申请实施例的发明人发现,在人工智能模型测试场景下,为了提高测试的准确性,一般是测试人员先在配置界面上人工组装待测试人工智能模型(如通过编写模型代码完成模型组装),然后配置测试环境参数(如输入数据集个数、测试允许占用最大系统资源比例等),最后在完成了各种人工智能模型测试前的准备工作之后才能最终启动测试,这就导致了现有的人工智能模型测试对测试人员的专业度要求较高,测试操作过程难度较大,且因测试前期准备过程较多而导致了整个测试过程的效率低下。
发明内容
本申请实施例提供了一种模型的自动化测试方法、系统及存储介质,能够在测试人员配置少量测试配置参数后,基于测试配置参数自动生成自动化测试任务集并进行自动化测试,无需测试人员人工配置多个测试配置参数并手工配置多个测试任务,降低了整个测试过程中配置的工作量,从而提高了测试结果的获取效率。
第一方面中,从多算法调度自动化测试平台的角度介绍本申请实施例提供的一种模型的自动化测试方法,应用于多算法调度自动化测试平台,所述多算法调度自动化测试平台包括主节点和至少一个算法节点;所述方法包括:
所述主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集;
所述至少一个算法节点获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述至少一个算法节点获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
第二方面中,具有实现对应于上述第一方面提供的模型的自动化测试方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,模型的自动化测试系统,运行于多算法调度自动化测试平台所述多算法调度自动化测试平台包括主节点和至少一个算法节点;所述主节点包括第一收发模块及第一处理模块,所述至少一个算法节点包括第二收发模块及第二处理模块;
所述第一收发模块,用于接收所述第一处理模块的控制指令进行收发操作;
所述第一处理模块,用于获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述第二收发模块,用于接收所述第二处理模块的控制指令进行收发操作;
所述第二处理模块,用于根据所述自动化测试任务集进行测试,得到自动化测试结果集;
获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述第二处理模块,还用于获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
第三方面中,本申请实施例又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述第一方面中提供的方法。
本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面中提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面中所提供的方法。
相较于现有技术,本申请实施例提供的方案中,在人工智能模型的自动化测试场景,当多算法调度自动化测试平台中的主节点获取到测试配置参数后,是自动根据所述测试配置参数生成自动化测试任务集。因避免了人工配置所有自动化测试任务的任务参数,故在主节点获取到测试配置参数后就无需人工操作,之后由多算法调度自动化测试平台中的主节点通过调度算节点完成对自动化测试任务集中各自动化测试任务的测试,并在测试完成后自动输出便于用户查看的自动化测试结果集。由于避免了测试过程中过多的人工参与度,从而降低了测试操作过程难度,提高了测试结果的获取效率。而且在测试完成之后,还可以由算法节点筛选出具有最短测试所需时长或每秒查询率的自动化测试结果以作为目标自动化测试结果,并基于所述目标自动化测试结果对应的目标自动化测试子任务的测试配置参数作为推荐测试配置参数推荐,以给用户后续测试过程参考使用。
附图说明
图1a为本申请实施例提供的一种模型的自动化测试系统的示意图;
图1b为本申请实施例提供的一种模型的自动化测试系统的应用场景示意图;
图2为本申请实施例中模型的自动化测试方法的一种流程示意图;
图3为本申请实施例中模型的自动化测试方法中主节点对应Web前端网页上测试配置参数的页面示意图;
图4a为本申请实施例中模型的自动化测试系统中主节点的一种结构示意图;
图4b为本申请实施例中模型的自动化测试系统中算法节点的一种结构示意图;
图4c为本申请实施例中模型的自动化测试系统的一种结构示意图;
图5为本申请实施例中服务器的一种结构示意图;
图6为本申请实施例中服务终端的一种结构示意图;
图7为本申请实施例中服务器的一种结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例提供了一种模型的自动化测试方法、系统及存储介质,可用于多算法调度自动化测试平台,该模型的自动化测试方法的执行主体可以是本申请实施例提供的模型的自动化测试系统,该自动化测试系统的主节点和算法节点,其中,该模型的自动化测试系统可以采用硬件或者软件的方式实现,该主节点可以为终端或服务器,且算法节点可以为终端或服务器。
当该主节点和算法节点为服务器时,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
当该主节点和算法节点为终端时,该终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、个人数字助理(英文全称:Personal DigitalAssistant,英文简称:PDA)、台式计算机、智能手表等携带多媒体数据处理功能(例如,视频数据播放功能、音乐数据播放功能)的智能终端,但并不局限于此。
本申请实施例的方案可基于人工智能技术实现,具体来说涉及人工智能技术中的计算机视觉技术领域和云技术中的云计算、云存储和数据库等领域,下面将分别进行介绍。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(ComputerVision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、人脸识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例的方案可基于云技术实现,具体来说涉及云技术中的云计算、云存储和数据库等技术领域,下面将分别进行介绍。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图像类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。本申请实施例可通过云技术对自动化测试结果集进行保存。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。在本申请实施例中,可将自动化测试结果集等信息均保存在该存储系统中,便于服务器调取。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array ofIndependent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言,Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。在本申请实施例中,可将自动化测试结果集存储在该数据库管理系统中,便于服务器调取。
其中,需要特别说明的是,本申请实施例涉及的服务终端,可以是指向服务终端提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless LocalLoop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。
一些实施方式中,本申请实施例可应用于如图1a所示的多算法调度自动化测试平台1,所述多算法调度自动化测试平台1包括主节点10和至少一个算法节点20,所述主节点10与所述算法节点20之间可以进行数据交互。而且,所述主节点10可以视为服务器,且所述算法节点20也可视为另一服务器,所述主节点10与所述算法节点20之间的数据交互视为服务器之间的数据交互。
当基于上述图1a所述的多算法调度自动化测试平台1实现本申请实施例中的模型的自动化测试方法时,可参考如图1b所示的一种应用场景示意图。
本申请实施例中,当多算法调度自动化测试平台中的主节点10先获取到测试配置参数后,是自动根据所述测试配置参数生成自动化测试任务集。然后主节点10将所述自动化测试任务集分发到至少一个算法节点20进行自动化测试,得到自动化测试结果集。而且在测试完成之后,还可以由算法节点20筛选出具有最短测试所需时长或每秒查询率的自动化测试结果以作为目标自动化测试结果,并基于所述目标自动化测试结果对应的目标自动化测试子任务的测试配置参数作为推荐测试配置参数推荐。由于本实施例通过主节点基于测试配置参数自动化生成自动化测试任务集,无需测试人员针对每一个自动化测试任务手动配置测试参数,减少了得到自动化测试任务集的工作量;而且自动化测试任务集之后是由主节点10自动分发至算法节点20,也无需用户手动操作启动测试任务,可以降低操作难度的同时更加高效的获取测试结果。
下面,将结合几个实施例对本申请技术方案进行详细的介绍说明。
参照图2,以下介绍本申请实施例所提供的一种模型的自动化测试方法,本申请实施例包括:
201、主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集。
在本申请的实施例中,主节点首先对使用多算法调度自动化测试平台进行人工智能模型产品进行自动化测试的测试用户进行用户身份验证,即由主节点先获取测试用户的登录用户信息,具体如用户账号、用户密码、用户登录IP地址等信息,且登录用户信息则是测试用户通过使用任意一种能登录主节点的Web前端网页的终端设备并在其上输入的信息。其中,人工智能模型产品可以理解为一种已完成封装的人工智能模型或人工智能模型组合;终端设备具体如台式电脑、平板电脑、笔记本电脑等。
如图3所示,其为主节点对应Web前端网页上测试配置参数的页面示意图,当主节点获取到测试用户在Web前端网页上输入的登录用户信息并对其验证通过后,即可提示测试用户人工配置测试过程中的测试配置参数,或者是基于主节点的推荐配置参数选定一种或多种测试配置参数。主节点无论是基于人工配置或是基于自动推荐获取到了测试配置参数后,首先对其进行解析以获取所述测试配置参数的目标测试对象、测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量等参数,然后根据所述测试配置参数对应的解析数据生成自动化测试任务集。其中,所述测试对象输入数据数量是指一次输入至目标测试对象中进行运算的输入数据的总个数,例如输入目标测试对象中进行运算的输入数据是图片数据,则当测试对象输入数据数量等于4时表示一次输入4张图片输入至目标测试对象中进行运算。
例如,在所述测试配置参数中目标测试对象包括N1个人工智能模型产品(其中N1为正整数,如N1=3),测试对象输入数据数量为一个数值范围(如[1,10])中任意一个整数取值均可或者是一个具体整数取值(如测试对象输入数据数量=4)也可,测试容器启动数量为N2(其中N2为正整数,如N2为[1,7]中任意一个整数取值),GPU开发卡启动数量为N3(其中N3为正整数,如N3为[1,10]中任意一个整数取值)。当主节点获取到了所述测试配置参数并对其解析获取到了其中包括的详细信息后,在主节点上基于所述测试配置参数中包括的详细信息生成自动化测试任务集。其中,需要注意的是,一般单个算法节点上可以最多设置10张GPU开发卡(即单个是算法节点上测试容器启动数量的最大值为10个),且单个算法节点上每一张GPU开发卡可启动的测试容器的最大值为7个(即单个GPU开发卡上测试容器启动数量的最大值为7个),故单个算法节点上可以视为最多可以同时启动10张GPU开发卡且每一张GPU开发卡中启动有7个测试容器进行测试。若上述单个算法节点上进行测试时,则可以最大启动70个测试容器同时进行测试。
下面分别从对1个人工智能模型产品进行自动化测试和对多个人工智能模型产品进行自动化测试进行介绍。其中,在对1个人工智能模型产品进行自动化测试又可以分为在单个算法节点上进行测试和在多个算法节点上进行测试。在对多个人工智能模型产品进行自动化测试又可以分为在单个算法节点上进行测试和在多个算法节点上进行测试。
场景1:在单个算法节点对1个人工智能模型产品进行自动化测试;
其中,该场景1可视为单节点单算法测试场景,此时所述测试配置参数中目标测试对象包括N1个人工智能模型产品中N1=1。又由于1个算法节点上测试容器启动数量以及GPU开发卡启动数量是在所述测试配置参数中已完成设定,故可以直接获取已设定的测试容器启动数量以及GPU开发卡启动数量。
如以N2=7且N3=6为例,此时1个算法节点上测试容器启动数量为7个且GPU开发卡启动数量为6个,则表示上述单个算法节点上进行测试时则可以最大启动42个测试容器同时进行测试。但是实际测试时并不一定需启动上述42个测试容器,而是实际所启动的测试容器的总个数不超过42个即可,例如是[1,42]这一取值区间内的任意一个正整数值。
之后为了得到对1个人工智能模型产品进行自动化测试的最佳配置参数,可以参照以下过程进行:
A1)获取测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
A2)若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、测试容器启动数量及GPU开发卡启动数量;
A3)基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集;
A4)若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;
A5)基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集。
在本申请的实施例中,由于用户在多算法调度自动化测试平台的Web前端网页上输入了测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量,同时还上传了作为被测试对象的1个人工智能模型产品,即可快速的根据用户所导入的N1个人工智能模型产品以及所设置的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量生成若干个自动化测试子任务。例如,测试对象输入数据数量一个数值范围类型且具体的数值范围是[1,10],测试容器启动数量为6个且GPU开发卡启动数量为4个,则生成具有如下表1所示参数取值的自动化测试子任务:
Figure BDA0003867624310000101
Figure BDA0003867624310000111
表1
在表1中每一行从第二列开始的3个数据组成一个组合序列,以作为一个自动化测试子任务的参数取值。这样,基于所述测试配置参数生成若干个自动化测试子任务组成自动化测试任务集后,即可在算法节点中针对自动化测试任务集中的各自动化测试子任务分别进行测试,从而得到各自动化测试子任务方分别对应的自动化测试结果。
更具体的,在1个算法节点中针对自动化测试任务集中的各自动化测试子任务分别进行测试,可以采用串行队列的方式进行自动化测试。例如,以串行队列的方式进行自动化测试为例,先根据表1中所示的自动化测试子任务a1在算法节点中先启动4个GPU开发卡、且每一个GPU开发卡中启动6个测试容器,这样先输入1个测试对象输入数据至上述4个GPU开发卡中共24个测试容器中,每一测试容器中均部署有相同的1个人工智能模型产品,在这一自动化测试子任务a1下最终可以得到一个自动化测试结果,其中在自动化测试结果中至少包括测试所需时长或每秒查询率(即Queries-per-second,简记为QPS)。依次类推,之后分别对自动化测试子任务a2-自动化测试子任务a10进行自动化测试,得到各自动化测试子任务分别对应的测试结果。
场景2:在多个算法节点对1个人工智能模型产品进行自动化测试;
其中,该场景2可视为多节点单算法测试场景,此时所述测试配置参数中目标测试对象包括N1个人工智能模型产品中N1=1。又由于多个算法节点上测试容器启动数量以及GPU开发卡启动数量是在所述测试配置参数中已设定好,故可以直接获取已设定的测试容器启动数量以及GPU开发卡启动数量。
此时,假设多个算法节点一共是包括3个算法节点,则可先以调用2个算法节点构建计算集群,且每一算法上启动N2=7且N3=6为例,此时上述2个算法节点上均是测试容器启动数量为7个且GPU开发卡启动数量为6个,则表示上述2个算法节点中每个算法节点上进行测试时则可以最大启动42个测试容器同时进行测试。但是实际测试时并不一定需启动上述42个测试容器,而是实际所启动的测试容器的总个数不超过42个即可,例如是[1,42]这一取值区间内的任意一个正整数值。
之后为了得到在调用2个算法节点或调用3个算法节点对1个人工智能模型产品进行自动化测试的最佳配置参数,可以参照以下过程进行:
B1)所述主节点控制启动i+1个算法节点;其中,i的初始取值为1,且i的取值范围是[1,total-1],total表示与所述主节点通讯连接的算法节点的总个数;
B2)获取测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
B3)若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、i+1个算法节点对应的节点个数、测试容器启动数量及GPU开发卡启动数量;
B4)基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集;
B5)若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;
B6)基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集;
B7)将i自增1以更新i的取值;
B8)若确定i小于或等于total-1,返回执行所述主节点控制启动i+1个算法节点的步骤;
B9)若确定i大于total-1,获取自动化测试任务集。
在本申请的实施例中,由于用户在多算法调度自动化测试平台的Web前端网页上输入了测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量,同时还上传了作为被测试对象的1个人工智能模型产品,即可快速的根据用户所导入的N1个人工智能模型产品以及所设置的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量生成若干个自动化测试子任务。例如,测试对象输入数据数量一个数值范围类型且具体的数值范围是[1,10],测试容器启动数量为7个且GPU开发卡启动数量为6个,则生成具有如下表2所示参数取值的自动化测试子任务:
Figure BDA0003867624310000131
表2
在表2中每一行从第二列开始的4个数据组成一个组合序列,以作为一个自动化测试子任务的参数取值。这样,基于所述测试配置参数生成若干个自动化测试子任务组成自动化测试任务集后,即可在2个或3个算法节点中针对自动化测试任务集中的各自动化测试子任务分别进行测试,从而得到各自动化测试子任务方分别对应的自动化测试结果。
更具体的,在2个算法节点中针对自动化测试任务集中的各自动化测试子任务分别进行测试,可以采用串行队列的方式进行自动化测试。例如,以串行队列的方式进行自动化测试为例,先根据表2中所示的自动化测试子任务b1在2个算法节点中先均启动7个GPU开发卡、且每一个GPU开发卡中启动6个测试容器,这样先输入1个测试对象输入数据至上述每个算法节点的4个GPU开发卡中共42个测试容器中,每一测试容器中均部署有相同的1个人工智能模型产品,在这一自动化测试子任务b1下最终可以得到一个自动化测试结果,其中在自动化测试结果中至少包括测试所需时长或每秒查询率(即Queries-per-second,简记为QPS)。依次类推,之后分别对自动化测试子任务b2-自动化测试子任务b20进行自动化测试,得到各自动化测试子任务分别对应的测试结果。
场景3:在单个算法节点对多个人工智能模型产品进行自动化测试;
其中,该场景3可视为单节点多算法测试场景,此时所述测试配置参数中目标测试对象包括N1个人工智能模型产品中N1>1。又由于单个算法节点上测试容器启动数量以及GPU开发卡启动数量是在所述测试配置参数中已设定好,故可以直接获取已设定的测试容器启动数量以及GPU开发卡启动数量。
与场景1相类似,在单个算法节点对多个人工智能模型产品进行自动化测试,采用串行测试的方式。先对第一个人工智能模型产品参照场景1的方式测试,然后对第二个人工智能模型产品参照场景1的方式测试,依次类推,直至所有的人工智能模型产品参照场景1的方式测试得到测试结果。
场景4:在多个算法节点对多个人工智能模型产品进行自动化测试;
其中,该场景4可视为多节点多算法测试场景,此时所述测试配置参数中目标测试对象包括N1个人工智能模型产品中N1>1。又由于多个算法节点上测试容器启动数量以及GPU开发卡启动数量是在所述测试配置参数中已设定好,故可以直接获取已设定的测试容器启动数量以及GPU开发卡启动数量。
与场景2类似,此时假设多个算法节点一共是包括3个算法节点且目标测试对象包括2个人工智能模型产品,则可先以调用2个算法节点构建计算集群,且每一算法上启动N2=7且N3=6为例,此时上述2个算法节点上均是测试容器启动数量为7个且GPU开发卡启动数量为6个,则表示上述2个算法节点中每个算法节点上进行测试时则可以最大启动42个测试容器同时对上述2个人工智能模型产品中的第一个人工智能模型产品进行测试。但是实际测试时并不一定需启动上述42个测试容器,而是实际所启动的测试容器的总个数不超过42个即可,例如是[1,42]这一取值区间内的任意一个正整数值。对上述2个人工智能模型产品中的第一个人工智能模型产品进行测试后,继续参照对第一个人工智能模型产品进行测试的过程对上述2个人工智能模型产品中的第二个人工智能模型产品进行测试,得到第二个人工智能模型产品的测试结果。
202、至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集。
在本申请的实施例中,当在主节点中根据所述测试配置参数生成了包括多个自动化测试子任务的自动化测试任务集后,对每一个自动化测试子任务分别进行测试,得到每一个自动化测试子任务分别对应的自动化测试结果,从而组成了自动化测试结果集。
一些实施方式中,所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集,包括:
所述至少一个算法节点根据所述自动化测试任务集中各自动化测试子任务的任务序号进行升序排序,得到自动化测试子任务排序结果;
所述至少一个算法节点将所述自动化测试子任务排序结果中各自动化测试子任务按任务序号的升序顺序依次串行进行测试,得到各自动化测试子任务的自动化测试结果以组成自动化测试结果集。
在本申请的实施例中,当在主节点中获取到了包括多个自动化测试子任务的自动化测试任务集后,由于针对每一个自动化测试子任务进行了任务序号编号,如上述表1中的a1-a10,或是如上述表2中的b1-b20。这样,即可在所述至少一个算法节点按照自动化测试子任务的任务序号升序的顺序依次进行自动化测试,得到各自动化测试子任务的自动化测试结果。而且,在每一个自动化测试子任务进行自动化测试时,严格按照该自动化测试子任务对应的测试配置参数启动相应个数的算法节点、测试容器和GPU开发卡。这样,针对每一自动化测试子任务,均可得到对应的一个自动化测试结果,而且其中在每一个自动化测试结果中是可以直接获取到测试所需时长或每秒查询率。
一些实施方式中,所述至少一个算法节点将所述自动化测试子任务排序结果中各自动化测试子任务按任务序号的升序顺序依次串行进行测试,得到各自动化测试子任务的自动化测试结果以组成自动化测试结果集之后,还包括:
所述至少一个算法节点获取所述自动化测试子任务排序结果中各自动化测试子任务对应的算法节点运行状态指标。
在本申请的实施例中,当在所述至少一个算法节点中执行每一个自动化测试子任务时,是可以由各算法节点获取到自动化测试过程中算法节点的CPU平均占用率、GPU平均占用率、算法节点平均功耗等指标,作为各算法节点在自动化测试过程中的算法节点运行状态指标。
其中,所述至少一个算法节点及所述主节点组成一个K8S集群(K8S是Kubernetes的简称,K8S集群是一个分布式系统,它将集群中的所有机器都视为单个资源池的一部分)。由于K8S集群是具有监控功能,故所述K8S集群在执行所述自动化测试子任务排序结果中每一个自动化测试子任务,是可以获取到每个算法节点的CPU平均占用率、GPU平均占用率、算法节点平均功耗等指标作为该算法节点的算法节点运行状态指标并存储。
203、所述至少一个算法节点获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果。
在本申请的实施例中,由于根据所述自动化测试结果集中包括的每一所述自动化测试结果均能获取到相应的自动化测试子任务所需要的测试所需时长或每秒查询率,这样可以基于具有最短测试所需时长或每秒查询率的自动化测试结果作为目标自动化测试结果。之后,基于目标自动化测试结果对应的自动化测试子任务,及该自动化测试子任务对应的测试配置参数即可作为后续在算法节点中向用户推荐的最佳测试配置参数。
204、所述至少一个算法节点获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
在本申请的实施例中,在获取到了具有最短测试所需时长或每秒查询率的自动化测试结果作为目标自动化测试结果后,也能在所述至少一个算法节点中获取到该目标自动化测试结果对应的目标自动化测试子任务及其对应的测试配置参数。此时将所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数并发送至所述主节点,当用户下次登录时,即可在主节点的Web前端网页上显示所述推荐测试配置参数,以供用户可以快速选取调用。
可见,通过本方案,在人工智能模型的自动化测试场景,当多算法调度自动化测试平台中的主节点获取到测试配置参数后,是自动根据所述测试配置参数生成自动化测试任务集。因避免了人工配置所有自动化测试任务的任务参数,故在主节点获取到测试配置参数后就无需人工操作,之后由多算法调度自动化测试平台中的主节点通过调度算节点完成对自动化测试任务集中各自动化测试任务的测试,并在测试完成后自动输出便于用户查看的自动化测试结果集。由于避免了测试过程中过多的人工参与度,从而降低了测试操作过程难度,提高了测试结果的获取效率。而且在测试完成之后,还可以由算法节点筛选出具有最短测试所需时长或每秒查询率的自动化测试结果以作为目标自动化测试结果,并基于所述目标自动化测试结果对应的目标自动化测试子任务的测试配置参数作为推荐测试配置参数推荐,以给用户后续测试过程参考使用。
参阅图4a、图4b和图4c,图4a为本申请实施例中模型的自动化测试系统中主节点的一种结构示意图;图4b为本申请实施例中模型的自动化测试系统中算法节点的一种结构示意图;图4c为本申请实施例中模型的自动化测试系统的一种结构示意图。如图4c所示的一种模型的自动化测试系统的结构示意图,其可应用于人工智能模型的自动化测试场景。本申请实施例中的模型的自动化测试系统中的主节点能够实现对应于上述图2所对应的实施例中主节点所执行的模型的自动化测试方法的步骤,模型的自动化测试系统中的算法节点能够实现对应于上述图2所对应的实施例中算法节点所执行的模型的自动化测试方法的步骤。模型的自动化测试系统实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。如图4c所示所述模型的自动化测试系统1可包括至少一个主节点10和至少一个算法节点20,如图4a所示主节点10具体包括收第一收发模块11和第一处理模块12,如图4b所示算法节点20具体包括收第二收发模块21和第二处理模块22,所述第一收发模块11、第一处理模块12、第二收发模块21和第二处理模块22功能实现可参考图2所对应的实施例中所执行的操作,或所述第二收发模块21和第二处理模块22功能实现可参考图2所对应的实施例中所执行的操作,此处不作赘述。
一些实施方式中,所述模型的自动化测试系统1包括主节点10和至少一个算法节点20,所述主节点10包括第一收发模块11及第一处理模块12,所述算法节点20包括第二收发模块21及第二处理模块22;
所述第一收发模块11,用于接收所述第一处理模块12的控制指令进行收发操作;
所述第一处理模块12,用于获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述第二收发模块21,用于接收所述第二处理模块22的控制指令进行收发操作;
所述第二处理模块22,用于根据所述自动化测试任务集进行测试,得到自动化测试结果集;
获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述第二处理模块22,还用于获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
在一些实施例中,所述第一收发模块11,还用于获取所述测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
所述第一处理模块12,还用于若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、测试容器启动数量及GPU开发卡启动数量;基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集。
在一些实施例中,所述第一处理模块12,还用于若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集。
在一些实施例中,所述第一处理模块12,还用于所述主节点控制启动i+1个算法节点;其中,i的初始取值为1,且i的取值范围是[1,total-1],total表示与所述主节点通讯连接的算法节点的总个数;
获取所述测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、i+1个算法节点对应的节点个数、测试容器启动数量及GPU开发卡启动数量;
基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集;
若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;
基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集;
将i自增1以更新i的取值;
若确定i小于或等于total-1,则返回执行所述主节点控制启动i+1个算法节点的步骤;
若确定i大于total-1,则获取自动化测试任务集。
在一些实施例中,所述第二处理模块12用于所述至少一个算法节点根据所述自动化测试任务集中各自动化测试子任务的任务序号进行升序排序,得到自动化测试子任务排序结果;
所述至少一个算法节点将所述自动化测试子任务排序结果中各自动化测试子任务按任务序号的升序顺序依次串行进行测试,得到各自动化测试子任务的自动化测试结果以组成自动化测试结果集。
在一些实施例中,所述主节点和至少一个算法节点组成K8S集群。
在一些实施例中,所述第二处理模块还用于获取所述自动化测试子任务排序结果中各自动化测试子任务对应的算法节点运行状态指标。
可见,通过本方案,在人工智能模型的自动化测试场景,当多算法调度自动化测试平台中的主节点获取到测试配置参数后,是自动根据所述测试配置参数生成自动化测试任务集。因避免了人工配置所有自动化测试任务的任务参数,故在主节点获取到测试配置参数后就无需人工操作,之后由多算法调度自动化测试平台中的主节点通过调度算节点完成对自动化测试任务集中各自动化测试任务的测试,并在测试完成后自动输出便于用户查看的自动化测试结果集。由于避免了测试过程中过多的人工参与度,从而降低了测试操作过程难度,提高了测试结果的获取效率。而且在测试完成之后,还可以由算法节点筛选出具有最短测试所需时长或每秒查询率的自动化测试结果以作为目标自动化测试结果,并基于所述目标自动化测试结果对应的目标自动化测试子任务的测试配置参数作为推荐测试配置参数推荐,以给用户后续测试过程参考使用。
上面从模块化功能实体的角度对本申请实施例中的模型的自动化测试系统进行了描述,下面从硬件处理的角度分别对本申请实施例中的模型的自动化测试系统进行描述。
需要说明的是,在本申请实施例各实施例(包括图4a-图4c所示的各实施例)中所有的收发模块对应的实体设备可以为收发器,所有的处理模块对应的实体设备可以为处理器。当其中一种装置具有如图4a-图4c所示的结构时,处理器、收发器和存储器实现前述对应该装置的装置实施例提供的所述收发模块和所述处理模块相同或相似的功能,图5中的处理器执行上述模型的自动化测试方法时需要调用的计算机程序。
图4a-图4c所示的系统可以具有如图5所示的结构,当图4a-图4c所示的系统具有如图5所示的结构时,图5中的处理器能够实现前述对应该装置的装置实施例提供的所述处理模块相同或相似的功能,图5中的收发器能够实现前述对应该装置的装置实施例提供的所述收发模块相同或相似的功能,图5中的处理器执行上述模型的自动化测试方法时需要调用的计算机程序。在本申请实施例图4a-图4c所示的实施例中的所述收发模块所对应的实体设备可以为输入输出接口,所述处理模块对应的实体设备可以为处理器。
本申请实施例还提供了另一种终端设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)、销售终端(英文全称:Point of Sales,英文简称:POS)、车载电脑等任意终端设备,以终端为手机为例:
图6示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图6,手机包括:射频(英文全称:Radio Frequency,英文简称:RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(英文全称:wirelessfidelity,英文简称:WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文简称:LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,英文简称:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,英文简称:GPRS)、码分多址(英文全称:Code Division Multiple Access,英文简称:CDMA)、宽带码分多址(英文全称:Wideband Code Division Multiple Access,英文简称:WCDMA)、长期演进(英文全称:LongTerm Evolution,英文简称:LTE)、电子邮件、短消息服务(英文全称:Short MessagingService,英文简称:SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(英文全称:LiquidCrystal Display,英文简称:LCD)、有机发光二极管(英文全称:Organic Light-EmittingDiode,英文简称:OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了W-iFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该手机所包括的处理器680还具有控制执行以上由图2所示的模型的自动化测试方法的流程图。
图7是本申请实施例提供的一种服务器结构示意图,该服务器720可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:centralprocessing units,英文简称:CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器720上执行存储介质730中的一系列指令操作。
服务器720还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图7所示的服务器720的结构。例如上述实施例中由图2所示的主节点和算法节点所执行的步骤可以基于该图7所示的服务器结构。例如,所述中央处理器722通过调用存储器732中的指令,执行以下操作:
所述主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集;
所述至少一个算法节点获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述至少一个算法节点获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。

Claims (10)

1.一种模型的自动化测试方法,应用于多算法调度自动化测试平台,其特征在于,所述多算法调度自动化测试平台包括主节点和至少一个算法节点;所述方法包括:
所述主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集;
所述至少一个算法节点获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述至少一个算法节点获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
2.根据权利要求1所述的方法,其特征在于,所述主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集,所述方法包括:
所述主节点获取所述测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、测试容器启动数量及GPU开发卡启动数量;
基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集。
3.根据权利要求2所述的方法,其特征在于,所述主节点获取所述测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量之后,所述方法还包括:
若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;
基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集。
4.根据权利要求1所述的方法,其特征在于,所述主节点获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集,所述方法包括:
所述主节点控制启动i+1个算法节点;其中,i的初始取值为1,且i的取值范围是[1,total-1],total表示与所述主节点通讯连接的算法节点的总个数;
获取所述测试配置参数中的测试对象输入数据数量、测试容器启动数量及GPU开发卡启动数量;
若确定所述测试对象输入数据数量为数值范围类型,根据所述测试对象输入数据数量在对应数值范围内的所有整数取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到多个组合序列;其中,每一个组合序列包括一个测试对象输入数据数量整数取值、i+1个算法节点对应的节点个数、测试容器启动数量及GPU开发卡启动数量;
基于所述多个组合序列分别对应的参数作为各自动化测试子任务的参数取值,生成多个自动化测试子任务,并由所述多个自动化测试子任务取值组成自动化测试任务集;
若确定所述测试对象输入数据数量为整数取值类型,根据所述测试对象输入数据数量对应的实际取值与i+1个算法节点对应的节点个数、所述测试容器启动数量及GPU开发卡启动数量进行组合,得到单个组合序列;
基于所述单个组合序列分别对应的参数作为自动化测试任务的参数取值,得到自动化测试任务集;
将i自增1以更新i的取值;
若确定i小于或等于total-1,则返回执行所述主节点控制启动i+1个算法节点的步骤;
若确定i大于total-1,则获取自动化测试任务集。
5.根据权利要求1所述的方法,其特征在于,所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集,所述方法包括:
所述至少一个算法节点根据所述自动化测试任务集中各自动化测试子任务的任务序号进行升序排序,得到自动化测试子任务排序结果;
所述至少一个算法节点将所述自动化测试子任务排序结果中各自动化测试子任务按任务序号的升序顺序依次串行进行测试,得到各自动化测试子任务的自动化测试结果以组成自动化测试结果集。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述主节点和至少一个算法节点组成K8S集群。
7.根据权利要求6所述的方法,其特征在于,所述至少一个算法节点根据所述自动化测试任务集进行测试,得到自动化测试结果集之后,所述方法还包括:
所述至少一个算法节点获取所述自动化测试子任务排序结果中各自动化测试子任务对应的算法节点运行状态指标。
8.一种模型的自动化测试系统,运行于多算法调度自动化测试平台,其特征在于,所述多算法调度自动化测试平台包括主节点和至少一个算法节点;所述主节点包括第一收发模块及第一处理模块,所述至少一个算法节点包括第二收发模块及第二处理模块;
所述第一收发模块,用于接收所述第一处理模块的控制指令进行收发操作;
所述第一处理模块,用于获取测试配置参数,并根据所述测试配置参数生成自动化测试任务集;
所述第二收发模块,用于接收所述第二处理模块的控制指令进行收发操作;
所述第二处理模块,用于根据所述自动化测试任务集进行测试,得到自动化测试结果集;
获取所述自动化测试结果集中具有最短测试所需时长或每秒查询率的自动化测试结果,以作为目标自动化测试结果;
所述第二处理模块,还用于获取所述目标自动化测试结果对应的目标自动化测试子任务,并获取所述目标自动化测试子任务的测试配置参数作为推荐测试配置参数。
9.一种模型的自动化测试系统,其特征在于,所述系统包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
CN202211185715.XA 2022-09-27 2022-09-27 模型的自动化测试方法、系统及存储介质 Active CN115525554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211185715.XA CN115525554B (zh) 2022-09-27 2022-09-27 模型的自动化测试方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211185715.XA CN115525554B (zh) 2022-09-27 2022-09-27 模型的自动化测试方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN115525554A true CN115525554A (zh) 2022-12-27
CN115525554B CN115525554B (zh) 2024-01-30

Family

ID=84700400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211185715.XA Active CN115525554B (zh) 2022-09-27 2022-09-27 模型的自动化测试方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN115525554B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040204887A1 (en) * 2003-03-28 2004-10-14 Mitsubishi Electric & Electronics U.S.A., Inc. Method and apparatus for decreasing automatic test equipment setup time
CN111258879A (zh) * 2019-03-25 2020-06-09 深圳市远行科技股份有限公司 一种基于页面采集的业务测试调度方法、装置及智能终端
CN112214390A (zh) * 2019-07-09 2021-01-12 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、系统、设备及介质
CN112364439A (zh) * 2020-12-02 2021-02-12 腾讯科技(深圳)有限公司 自动驾驶系统的仿真测试方法、装置以及存储介质
CN112799782A (zh) * 2021-01-20 2021-05-14 北京迈格威科技有限公司 模型生成系统、方法、电子设备及存储介质
CN113590576A (zh) * 2021-02-05 2021-11-02 华中科技大学 数据库参数调整方法、装置、存储介质以及电子设备
CN113672493A (zh) * 2020-05-14 2021-11-19 北京奇虎科技有限公司 业务功能的测试方法、装置、测试平台及可读存储介质
CN114490307A (zh) * 2020-11-12 2022-05-13 腾讯科技(深圳)有限公司 一种单元测试方法、装置及存储介质
CN115061939A (zh) * 2022-06-30 2022-09-16 北京瑞莱智慧科技有限公司 数据集安全测试方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040204887A1 (en) * 2003-03-28 2004-10-14 Mitsubishi Electric & Electronics U.S.A., Inc. Method and apparatus for decreasing automatic test equipment setup time
CN111258879A (zh) * 2019-03-25 2020-06-09 深圳市远行科技股份有限公司 一种基于页面采集的业务测试调度方法、装置及智能终端
CN112214390A (zh) * 2019-07-09 2021-01-12 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、系统、设备及介质
CN113672493A (zh) * 2020-05-14 2021-11-19 北京奇虎科技有限公司 业务功能的测试方法、装置、测试平台及可读存储介质
CN114490307A (zh) * 2020-11-12 2022-05-13 腾讯科技(深圳)有限公司 一种单元测试方法、装置及存储介质
CN112364439A (zh) * 2020-12-02 2021-02-12 腾讯科技(深圳)有限公司 自动驾驶系统的仿真测试方法、装置以及存储介质
CN112799782A (zh) * 2021-01-20 2021-05-14 北京迈格威科技有限公司 模型生成系统、方法、电子设备及存储介质
CN113590576A (zh) * 2021-02-05 2021-11-02 华中科技大学 数据库参数调整方法、装置、存储介质以及电子设备
CN115061939A (zh) * 2022-06-30 2022-09-16 北京瑞莱智慧科技有限公司 数据集安全测试方法、装置及存储介质

Also Published As

Publication number Publication date
CN115525554B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
EP3333733B1 (en) Method and device for use in parallel execution of terminal database
US10922193B2 (en) Data backup method, storage medium, and terminal
CN115022098B (zh) 人工智能安全靶场内容推荐方法、装置及存储介质
CN111338745B (zh) 一种虚拟机的部署方法、装置及智能设备
CN114694226B (zh) 一种人脸识别方法、系统及存储介质
CN114595124B (zh) 时序异常检测模型评估方法、相关装置及存储介质
CN115658348B (zh) 微服务调用方法、相关装置及存储介质
CN110780793B (zh) 一种树形菜单的构建方法、装置、电子设备及存储介质
CN116208613A (zh) 云主机的迁移方法、装置、电子设备及存储介质
CN111399819A (zh) 数据生成方法、装置、电子设备及存储介质
CN114821751B (zh) 图像识别方法、装置、系统及存储介质
CN115546516A (zh) 人员聚档方法、装置、计算机设备及存储介质
CN115525554B (zh) 模型的自动化测试方法、系统及存储介质
CN116071614A (zh) 样本数据处理方法、相关设备及存储介质
CN115640567A (zh) Tee完整性认证方法、装置、系统及存储介质
CN115376192A (zh) 用户异常行为确定方法、装置、计算机设备及存储介质
CN114372032A (zh) 资源文件同步方法、装置、设备、存储介质
CN115909186B (zh) 图像信息识别方法、装置、计算机设备及存储介质
CN115412726B (zh) 视频真伪检测方法、装置及存储介质
CN114722970B (zh) 一种多媒体检测方法、装置及存储介质
CN115565215B (zh) 一种人脸识别算法切换方法、装置及存储介质
CN116954631A (zh) 模型部署方法、相关装置及存储介质
CN116756350A (zh) 多媒体数据处理方法、装置、计算机设备及存储介质
CN115984643A (zh) 模型训练方法、相关设备及存储介质
CN111382335B (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
GR01 Patent grant