CN117009248A - 机器学习模型测试方法及装置、电子设备和存储介质 - Google Patents

机器学习模型测试方法及装置、电子设备和存储介质 Download PDF

Info

Publication number
CN117009248A
CN117009248A CN202311125938.1A CN202311125938A CN117009248A CN 117009248 A CN117009248 A CN 117009248A CN 202311125938 A CN202311125938 A CN 202311125938A CN 117009248 A CN117009248 A CN 117009248A
Authority
CN
China
Prior art keywords
test
file
target
model
tested
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.)
Pending
Application number
CN202311125938.1A
Other languages
English (en)
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.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads 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 Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202311125938.1A priority Critical patent/CN117009248A/zh
Publication of CN117009248A publication Critical patent/CN117009248A/zh
Pending legal-status Critical Current

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/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/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种机器学习模型测试方法及装置、电子设备和存储介质。该方法包括:响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;执行所述测试任务。因此,本方法可以增强测试系统的可扩展性和灵活性。

Description

机器学习模型测试方法及装置、电子设备和存储介质
技术领域
本公开涉及软件测试领域,尤其涉及一种机器学习模型测试方法及装置、电子设备和存储介质。
背景技术
软件测试可以帮助开发人员在软件开发时快速地找出设计缺陷与不足,以保证软件质量。机器学习模型也属于软件中的一种,对机器学习模型进行测试,可以使开发人员及时获得机器学习模型精度、性能等情况。
现有机器学习测试系统通常针对某一或某些业务场景。所以对于测试活动本身会有明确的要求。这样一来,测试系统的灵活性、可扩展性都受到限制。随着业务场景的扩充,或者待测试程序的多变,原有的这些要求并不适用于新业务场景、待测试程序。
发明内容
有鉴于此,本公开提出了一种机器学习模型测试方案。本方案可以提高测试系统的可扩展性和灵活性。
根据本公开的一方面,提供了一种机器学习模型测试方法,包括:响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;执行所述测试任务。
在一种可能的实现方式中,所述测试文件为镜像文件,所述方法还包括:基于获取的待测模型、测试过程程序、测试输入文件标识和测试环境文件标识,按照预设的接口信息构建所述镜像文件,所述接口信息表征以下至少一种数据的获取方式:测试输入文件、测试环境文件、待测模型、测试过程程序;将所述镜像文件保存至镜像数据库;响应于测试请求,所述对所述测试请求对应的测试文件进行解析,包括:响应于所述测试请求,,基于所述测试请求从所述镜像数据库中获取所述测试文件,并对所述测试文件进行解析。
在一种可能的实现方式中,所述测试输入文件包括:权重文件、数据集,所述接口信息为存储路径;对所述测试请求对应的测试文件进行解析,得到测试输入文件标识和测试环境文件标识,包括:对所述测试文件进行解析,分别获得所述权重文件、所述数据集、所述测试环境文件各自的存储路径;根据所述存储路径访问存储位置,得到权重文件标识、数据集标识、所述测试环境文件标识。
在一种可能的实现方式中,所述测试输入文件标识包括:权重文件标识和数据集标识,所述方法还包括:建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系;在响应于用户对测试输入文件标识和测试环境标识的第二选择操作,确定目标测试输入文件和目标测试环境文件之前,还包括:基于所述映射关系,根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表。
在一种可能的实现方式中,所述建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系,包括:建立所述待测模型和所述测试过程程序,与所述权重文件标识的第一映射关系;建立所述待测模型和所述测试过程程序,与所述数据集标识第二映射关系;建立所述待测模型和所述测试过程程序,与所述测试环境文件标识第三映射关系;所述根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表,包括:根据所述目标待测模型和目标测试过程程序,确定目标第一映射关系、目标第二映射关系、目标第三映射关系;根据所述目标第一映射关系,呈现权重文件标识列表;根据所述目标第二映射关系,呈现数据集标识列表;根据所述目标第三映射关系,呈现测试环境文件标识列表。
在一种可能的实现方式中,所述方法还包括:对所述测试文件进行解析,得到待测模型的第一模型类型;根据模型类型与预存数据集之间的预设第四映射关系,确定所述第一模型类型对应的预存数据集标识;将所述第一模型类型对应的预存数据集标识添加至所述数据集标识列表进行呈现。
在一种可能的实现方式中,所述方法还包括:存储测试任务的测试结果;基于至少一个所述测试结果,按照至少一个分类维度生成至少一个对比测试报告;其中,所述分类维度为硬件分类或测试程序版本分类。
根据本公开的另一方面,提供了一种机器学习模型测试装置,包括:
解析单元,用于响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;
目标程序确定单元,用于响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;
目标文件确定单元,用于响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;
测试任务生成单元,用于基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;
测试任务执行单元,用于执行所述测试任务。
在一种可能的实现方式中,所述测试文件为镜像文件,所述装置还包括:
镜像文件构建单元,用于基于获取的待测模型、测试过程程序、测试输入文件标识和测试环境文件标识,按照预设的接口信息构建所述镜像文件,所述接口信息表征以下至少一种数据的获取方式:测试输入文件、测试环境文件、待测模型、测试过程程序;将所述镜像文件保存至镜像数据库;
所述解析单元,包括:
第一解析子单元,响应于所述测试请求,基于所述测试请求从所述镜像数据库中获取所述测试文件,并对所述测试文件进行解析。
在一种可能的实现方式中,所述测试输入文件包括:权重文件、数据集,所述接口信息为存储路径;
所述解析单元,包括:
存储路径确定单元,用于对所述测试文件进行解析,分别获得所述权重文件、所述数据集、所述测试环境文件各自的存储路径;
标识确定单元,用于根据所述存储路径访问存储位置,得到权重文件标识、数据集标识、所述测试环境文件标识。
在一种可能的实现方式中,所述测试输入文件标识包括:权重文件标识和数据集标识,所述装置还包括:
映射关系建立单元,用于建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系;
列表生成单元,用于基于所述映射关系,根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表。
在一种可能的实现方式中,所述映射关系建立单元,包括:
第一映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述权重文件标识的第一映射关系;
第二映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述数据集标识第二映射关系;
第三映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述测试环境文件标识第三映射关系;
所述列表生成单元包括:
目标映射关系确定单元,用于根据所述目标待测模型和目标测试过程程序,确定目标第一映射关系、目标第二映射关系、目标第三映射关系;
权重文件标识列表生成单元,用于根据所述目标第一映射关系,呈现权重文件标识列表;
数据集标识列表生成单元,用于根据所述目标第二映射关系,呈现数据集标识列表;
测试环境文件标识列表生成单元,用于根据所述目标第三映射关系,呈现测试环境文件标识列表。
在一种可能的实现方式中,所述装置还包括:
第一模型类型确定单元,用于对所述测试文件进行解析,得到待测模型的第一模型类型;
预存数据集标识确定单元,用于根据模型类型与预存数据集之间的预设第四映射关系,确定所述第一模型类型对应的预存数据集标识;
数据集标识列表增补单元,用于将所述第一模型类型对应的预存数据集标识添加至所述数据集标识列表进行呈现。
在一种可能的实现方式中,所述装置还包括:
测试结果存储单元,用于存储测试任务的测试结果;
测试报告生成单元,用于基于至少一个所述测试结果,按照至少一个分类维度生成至少一个对比测试报告;其中,所述分类维度为硬件分类或测试程序版本分类。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
在本公开实施例中,对用户提交的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;响应于用户对测试输入文件标识和测试环境标识的第二选择操作,确定目标测试输入文件和目标测试环境;基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;执行所述测试任务。由此,测试系统并不受业务逻辑限制,用户可以按照不同的业务逻辑编写测试用代码;也不限定软、硬件环境件信息等,用户可以根据个人习惯、业务或场景的需求,定义软、硬件环境信息。因此,可以使用同一个测试系统,测试针对不同场景、需求开发的机器学习模型;增强了测试系统的可扩展性和灵活性。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1为本公开实施例提供的机器学习模型测试方法的流程示意图。
图2为本公开实施例提供的机器学习模型测试流程的示意图。
图3为本公开实施例提供的机器学习模型测试装置的结构示意图。
图4为本公开实施例的机器学习模型测试的电子设备的结构示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
软件测试可以帮助开发人员在软件开发时快速地找出设计缺陷与不足,以保证软件质量。机器学习模型也属于软件中的一种,对机器学习模型进行测试,可以使开发人员及时获得机器学习模型精度、性能等情况。
按照使用对象来分,机器学习模型测试系统可以分为:公用系统、私用系统。
在机器学习模型测试系统作为公用系统的情况下,通常关注在特定数据集、及软硬件配置下机器学习模型的精度、准确度等。而在机器学习测试系统作为私用系统的情况下,需要机器学习模型测试系统结合某一业务逻辑,测试待测模型在特定的软、硬件上的精度、性能表现等。
由此可见,现有的机器学习模型测试系统不仅受到单一业务场景、业务逻辑的限制,而且受到测试输入、测试程序(软件)、测试硬件环境的限制,难以进行灵活调整,以适应与不同学习模型的测试需求。因此现有的机器学习模型测试系统缺乏可扩展性、灵活性。
图1为本公开实施例提供的机器学习模型测试方法的流程示意图。如图1所示,该方法包括:
S11,响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识。
在本公开实施例中,测试输入文件可以为测试待测试模型时需要输入的文件。例如:测试数据。测试环境文件可以记载测试该待测模型所需要的软、硬件环境信息;例如,可以包括:硬件配置信息、环境变量、测试工具、脚本语言的类别、开发待测试模型、测试过程程序时使用的框架、辅助工具等。测试过程程序可以是测试中所需要的脚本,例如:测试启动脚本。
测试输入文件标识可以为测试输入文件的名称;测试环境文件标识可以为测试环境文件的名称。单一的测试文件可以对应一个或多个测试输入文件、一个或多个测试环境文件。
在本公开实施例中,可以对测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识、测试环境文件标识。待测模型、测试过程程序可以包含在测试文件中,也可以不包含于测试文件中。
S12,响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序。
第一选择可以是在至少一个待测模型、测试过程程序中选择目标待测模型和目标测试过程程序。
在本公开实施例中,可以将多个候选待测模型的标识、以及与各候选待测模型对应的候选测试过程程序的标识呈现给用户,用户根据需要确定出即将进行测试的目标待测模型,以及目标测试过程程序。
在用户选定目标待测模型后,可以将对目标待测模型对应的至少一个测试输入文件标识、至少一个测试环境文件标识呈现给用户。
S13,响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件。
第二选择可以是在至少一个输入文件标识、至少一个测试环境标识中选择目标测试输入文件、目标测试环境文件。
按照用户选择出的目标输入文件标识、目标测试环境文件标识,确定目标测试输入文件和目标测试环境文件。进而,确定出测试所需要的输入文件和测试环境。
S14,基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务。
在本公开实施例中,可以将目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件进行封装,封装成测试任务。
这样,由于测试任务中封装了目标测试环境文件,所以增强了测试任务的可移植性,便于横向比较机器学习模型在不同硬件平台上的性能。
S15,执行所述测试任务。
在本公开实施例中,可以按照目标测试环境文件,确定测试过程中所需要的软、硬件环境信息;并且可以根据目标测试输入文件,确定测试目标待测模型所需要的测试数据;根据软、硬件环境信息配置测试环境,目标待测模型、目标测试过程程序运行在该测试环境下;利用测试数据对目标待测模型进行测试。
在本公开实施例中,对用户提交的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;响应于用户对测试输入文件标识和测试环境标识的第二选择操作,确定目标测试输入文件和目标测试环境;基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;执行所述测试任务。由此,测试系统并不受业务逻辑限制,用户可以按照不同的业务逻辑编写测试用代码;也不限定软、硬件环境件信息等,用户可以根据个人习惯、业务或场景的需求,定义软、硬件环境信息。因此,可以使用同一个测试系统,测试针对不同场景、需求开发的机器学习模型;增强了测试系统的可扩展性和灵活性。
在一种可能的实现方式中,所述测试文件为镜像文件,所述方法还包括:基于获取的待测模型、测试过程程序、测试输入文件标识和测试环境文件标识,按照预设的接口信息构建所述镜像文件,所述接口信息表征以下至少一种数据的获取方式:测试输入文件、测试环境文件、待测模型、测试过程程序;将所述镜像文件保存至镜像数据库;响应于测试请求,所述对所述测试请求对应的测试文件进行解析,包括:响应于所述测试请求,基于所述测试请求从所述镜像数据库中获取所述测试文件,并对所述测试文件进行解析。
在本公开实施例中,用户可以预先设置接口信息。这里接口信息可以包括:测试输入文件、测试环境文件、待测模型、测试过程程序等的获取方式。接口信息还可以包括:定义该获取方式的形式。举例说明,接口信息可以定义以环境变量的形式由用户指定测试输入文件的获取方式。接口信息还可以包括:测试系统与存储测试输入文件、测试环境文件、待测模型、测试过程程序等的存储介质的连接方式。例如,接口信息可以定义测试系统与存放测试环境文件的存储介质通过挂载方式连接。接口信息中也可以不定义获取待测模型、测试过程程序的方式,而是将待测模型、测试过程程序直接包含在测试文件中,本公开实施例对此不进行限定。
在本公开实施例中,只要按照预设接口信息构建镜像文件,便可以灵活更换待测模型、测试过程文件,以及测试所需的测试输入文件、测试环境文件。因此,可以适用测试不同场景、业务需求的机器学习模型。而且,无需在镜像文件中存储大数据量的文件,使得测试文件更加轻便;减少测试系统的存储负担。
在一种可能的实现方式中,所述测试输入文件包括:权重文件、数据集,所述接口信息为存储路径;响应于测试请求,对所述测试请求对应的测试文件进行解析,得到测试输入文件标识和测试环境文件标识,包括:对所述测试文件进行解析,分别获得所述权重文件、所述数据集、所述测试环境文件各自的存储路径;根据所述存储路径访问存储位置,得到权重文件标识、数据集标识、所述测试环境文件标识。
在本公开实施例中,对测试文件进行解析,可以确定出权重文件、数据集、测试环境文件各自存储路径。根据存储路径分别访问权重文件、数据集、环境测试文件的位置。其中,该位置可以为在存储介质中存储文件的文件夹,从而获取到权重文件标识、数据集标识、测试环境文件标识。
这样一来,测试文件中无需包含权重文件标识、数据集标识、测试环境文件标识。使得测试文件更加轻便,减少测试文件占用空间。而且,可以在存储路径下,根据需要随意更换权重文件、数据集、测试环境文件,提高了测试系统的灵活性。
在一种可能的实现方式中,所述测试输入文件标识包括:权重文件标识和数据集标识,所述方法还包括:建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系;在响应于用户对测试输入文件标识和测试环境标识的第二选择操作,确定目标测试输入文件和目标测试环境文件之前,还包括:基于所述映射关系,根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表。
如前所述,对测试文件进行解析后,可以得到待测模型、测试过程程序测试输入文件标识、测试环境文件标识。
通常,一个测试文件中可以对应一个待测模型、一个测试过程程序。为了便于表述,可以将同一个测试文件对应的待测模型和测试过程程序命名为第一程序。单个第一程序可以对应至少一个测试输入文件标识;单个第一程序可以对应至少一个测试环境文件标识。测试系统中可以包括多个第一程序。在本公开实施例中,可以建立第一程序与测试输入文件标识的映射关系,以及建立第一程序与测试环境文件标识的映射关系。由于单个待测模型可以与一个测试过程程序相对应。也可以单独建立待测模型(或测试过程程序)与测试输入文件标识的映射关系;单独建立待测模型(或测试过程程序)与测试环境文件标识的映射关系。
这样,在测试系统中,一旦确定出第一程序,或确定出待测模型,或确定出测试环境文件,便可以快速的确定出权重文件、数据集、测试环境文件,提高测试效率。
在一种可能的实现方式中,所述建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系,包括:建立所述待测模型和所述测试过程程序,与所述权重文件标识的第一映射关系;建立所述待测模型和所述测试过程程序,与所述数据集标识第二映射关系;建立所述待测模型和所述测试过程程序,与所述测试环境文件标识第三映射关系;所述根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表,包括:根据所述目标待测模型和目标测试过程程序,确定目标第一映射关系、目标第二映射关系、目标第三映射关系;根据所述目标第一映射关系,呈现权重文件标识列表;根据所述目标第二映射关系,呈现数据集标识列表;根据所述目标第三映射关系,呈现测试环境文件标识列表。
在对测试文件进行解析后,可以获得第一程序,以及存放权重文件的第一存储路径、存放数据集的第二存储路径、存放测试环境文件的第三存储路径。
第一映射关系可以是第一程序与第一存储路径下权重文件的映射关系。第二映射关系可以是第一程序与第二存储路径下数据集的映射关系。第三映射关系可以是第一程序与第三存储路径下测试环境文件的映射关系。
测试系统中可以存在多个第一程序,单一的一个第一程序对应一个第一映射关系、一个第二映射关系、一个第三映射关系。所以在确定了目标第一程序后(目标待测模型和目标测试过程程序),便可以确定出目标第一程序所对应的目标第一映射关系、目标第二映射关系、目标第三映射关系。然后,可以将与第一程序对应的权重文件标识呈现在权重文件标识列表内;将与第一程序对应的数据集标识呈现在数据集标识列表内;将与第一程序对应的测试环境文件标识呈现在测试环境文件标识列表内;并将权重文件标识列表、数据集标识列表、测试环境文件标识列表展现给用户。
这样,在测试系统中,一旦确定出目标待测模型和目标测试过程程序,用户便可以看到测试用的权重文件、数据集、测试环境文件各自的列表,方便用户根据测试需求进行组合,提高了测试的灵活性。
在一种可能的实现方式中,所述方法还包括:对所述测试文件进行解析,得到待测模型的第一模型类型;根据模型类型与预存数据集之间的预设第四映射关系,确定所述第一模型类型对应的预存数据集标识;将所述第一模型类型对应的预存数据集标识添加至所述数据集标识列表进行呈现。
在本公开实施例中,可以预存一些通用或常用的数据集;为了便于描述,将这些数据集命名为预存数据集。由于,在有些情况下,不同类型的模型使用的数据集差别较大。例如,人脸识别类的模型使用的数据集往往是带有人脸的图像,而处理语音类的模型所使用的数据集则多是文本数据或音频数据。因此,可以建立模型类别与预存数据集的第四映射关系。
在本公开实施例中,还可以通过对测试文件进行解析,获得待测模型的第一模型类型。根据第四映射关系,确定出与第一模型类型对应的预存数据集的标识,并且将该标识添加到前述数据集标识列表,使与待测模型匹配的预存数据集作为候选项。这样,针对常见模型或者模型中的某一常见功能,可以使用存储数据集进行测试,用户不用单独寻找、设置数据集,提高了测试效率。
在一种可能的实现方式中,所述方法还包括:存储测试任务的测试结果;基于至少一个所述测试结果,按照至少一个分类维度生成至少一个对比测试报告;其中,所述分类维度为硬件分类或测试程序版本分类。
在执行完测试任务后,会生成测试结果。一个测试任务可以对应多个测试结果。这多个测试结果可以按照不同的分类维度进行分类,按照单个分类维度可以生成一个对比测试报告。分类维度可以包括:按照硬件分类,或者按照测试程序版本进行分类。这里的测试程序可以包括:待测模型。
由于用户可以定义接口信息,并通过接口信息可以得到不同的测试环境文件。所以,可以对同一待测模型在多个硬件环境下进行测试,得到多个测试结果,生成第一对比测试报告。第一对比测试报告可以展现出不同硬件环境中同一待测模型的性能表现。当然,也可以使用同一个测试输入文件、测试环境文件,更换不同版本的待测模型,获得多个测试结果,生成第二对比测试报告。第二对比测试报告可以展现出不同版本的待测模型在相同的数据集、权重、硬件环境下的性能表现。因此,有助于用户全面获得机器学习模型的性能情况,使得机器学习模型的测试更具有说服力。
下面以一实施例,详细说明使用本公开的测试方法对机器学习模型测试的过程。
图2为本公开实施例提供的机器学习模型测试流程的示意图。如图2所示,用户可以在第一软件中定义接口信息。第一软件按照接口信息,确定出测试输入文件和测试环境文件的存储路径;并且,根据存储路径分别获取测试输入文件标识和测试环境文件标识;然后,基于用户输入的待测模型、测试过程程序,以及测试输入文件标识、测试环境文件标识,构建出测试程序镜像文件。并且,可以将该镜像文件存储至镜像仓库(图中未示出)。
用户通过测试程序管理页面,确定目标镜像文件的第四存储路径(目标镜像仓库的标识、具体存储的文件夹等)、版本。测试系统按照第四存储路径获取目标镜像文件,并按照接口信息,对目标镜像文件进行解析,获得第一程序。用户还可以通过测试程序管理页面输入第一程序的名称。其中,第一程序包括目标镜像文件中的待测模型、测试过程文件。测试系统按照用户输入的名称,将第一程序进行命名,且保存至测试程序数据库中。测试系统通过对目标镜像文件解析,还可以确定出第一程序与第一存储路径下的权重文件的第一映射关系、第一程序与第二存储路径下的数据集的第二映射关系、第一程序与第三存储路径下的测试环境文件的第三映射关系;并且将第一映射关系、第二映射关系、第三映射关系存储至测试程序数据库。
测试系统可以将第一程序的标识呈现于测试任务管理页面。用户通过选择操作,确定目标第一程序。基于用户确定的目标第一程序,测试系统可以确定出与目标第一程序对应的目标第一映射关系、目标第二映射关系、目标第三映射关系。测试系统将与目标第一程序具有第一映射关系的权重文件标识、与目标第一程序具有第二映射关系的数据集标识、与目标第一程序具有第三映射关系的测试环境文件标识,呈现至测试任务管理页面。用户可以在测试任务管理页面中选择出目标权重文件、目标数据集、目标测试环境文件。
测试系统可以基于第一程序、目标权重文件标识、目标数据集标识、测试环境文件标识,生成并执行测试任务。测试系统待测试任务执行完毕后,生成测试结果,并将测试结果保存至测试结果数据库。
用户可以通过测试任务报告页面,选择比对项目。例如:可以选择按照硬件分类、或者选择按照第一程序版本分类。根据用户对于比对项目的选择操作,测试系统可以按照硬件分类生成第一对比测试报告、或按照第一程序版本分类生成第二对比测试报告,并呈现至测试任务报告页面。
图3为本公开实施例提供的机器学习模型测试装置的结构示意图。该装置300包括:
解析单元301,用于响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;
目标程序确定单元302,用于响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;
目标文件确定单元303,用于响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;
测试任务生成单元304,用于基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;
测试任务执行单元305,用于执行所述测试任务。
在一种可能的实现方式中,所述测试文件为镜像文件,所述装置300还包括:
镜像文件构建单元306,用于基于获取的待测模型、测试过程程序、测试输入文件标识和测试环境文件标识307,按照预设的接口信息构建所述镜像文件,所述接口信息表征以下至少一种数据的获取方式:测试输入文件、测试环境文件、待测模型、测试过程程序;将所述镜像文件保存至镜像数据库;
所述解析单元301,包括:
第一解析子单元,用于响应于所述测试请求,基于所述测试请求从所述镜像数据库中获取所述测试文件,并对所述测试文件进行解析。
在一种可能的实现方式中,所述测试输入文件包括:权重文件、数据集,所述接口信息为存储路径;
所述解析单元301,包括:
存储路径确定单元,用于对所述测试文件进行解析,分别获得所述权重文件、所述数据集、所述测试环境文件各自的存储路径;
标识确定单元,用于根据所述存储路径访问存储位置,得到权重文件标识、数据集标识、所述测试环境文件标识。
在一种可能的实现方式中,所述测试输入文件标识包括:权重文件标识和数据集标识,所述装置300还包括:
映射关系建立单元308,用于建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系;
列表生成单元309,用于基于所述映射关系,根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表。
在一种可能的实现方式中,所述映射关系建立单元308,包括:
第一映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述权重文件标识的第一映射关系;
第二映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述数据集标识第二映射关系;
第三映射关系建立单元,用于建立所述待测模型和所述测试过程程序,与所述测试环境文件标识第三映射关系;
所述列表生成单元309包括:
目标映射关系确定单元,用于根据所述目标待测模型和目标测试过程程序,确定目标第一映射关系、目标第二映射关系、目标第三映射关系;
权重文件标识列表生成单元,用于根据所述目标第一映射关系,呈现权重文件标识列表;
数据集标识列表生成单元,用于根据所述目标第二映射关系,呈现数据集标识列表;
测试环境文件标识列表生成单元,用于根据所述目标第三映射关系,呈现测试环境文件标识列表。
在一种可能的实现方式中,所述装置300还包括:
第一模型类型确定单元310,用于对所述测试文件进行解析,得到待测模型的第一模型类型;
预存数据集标识确定单元311,用于根据模型类型与预存数据集之间的预设第四映射关系,确定所述第一模型类型对应的预存数据集标识;
数据集标识列表增补单元312,用于将所述第一模型类型对应的预存数据集标识添加至所述数据集标识列表进行呈现。
在一种可能的实现方式中,所述装置300还包括:
测试结果存储单元313,用于存储测试任务的测试结果;
测试报告生成单元314,用于基于至少一个所述测试结果,按照至少一个分类维度生成至少一个对比测试报告;其中,所述分类维度为硬件分类或测试程序版本分类。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图4为本公开实施例的机器学习模型测试的电子设备的结构示意图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图4,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958(I/O接口)。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种机器学习模型测试方法,其特征在于,包括:
响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;
响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;
响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;
基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;
执行所述测试任务。
2.根据权利要求1所述的方法,其特征在于,所述测试文件为镜像文件,所述方法还包括:
基于获取的待测模型、测试过程程序、测试输入文件标识和测试环境文件标识,按照预设的接口信息构建所述镜像文件,所述接口信息表征以下至少一种数据的获取方式:测试输入文件、测试环境文件、待测模型、测试过程程序;
将所述镜像文件保存至镜像数据库;
响应于测试请求,所述对所述测试请求对应的测试文件进行解析,包括:
响应于所述测试请求,基于所述测试请求从所述镜像数据库中获取所述测试文件,并对所述测试文件进行解析。
3.根据权利要求2所述的方法,其特征在于,所述测试输入文件包括:权重文件、数据集,所述接口信息为存储路径;
对所述测试请求对应的测试文件进行解析,得到测试输入文件标识和测试环境文件标识,包括:
对所述测试文件进行解析,分别获得所述权重文件、所述数据集、所述测试环境文件各自的存储路径;
根据所述存储路径访问存储位置,得到权重文件标识、数据集标识、所述测试环境文件标识。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系;
在响应于用户对测试输入文件标识和测试环境标识的第二选择操作,确定目标测试输入文件和目标测试环境文件之前,还包括:
基于所述映射关系,根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表。
5.根据权利要求4所述的方法,其特征在于,所述测试输入文件标识包括:权重文件标识和数据集标识,
所述建立所述待测模型和所述测试过程程序,各自与所述测试输入文件标识、所述测试环境文件标识的映射关系,包括:
建立所述待测模型和所述测试过程程序,与所述权重文件标识的第一映射关系;
建立所述待测模型和所述测试过程程序,与所述数据集标识第二映射关系;
建立所述待测模型和所述测试过程程序,与所述测试环境文件标识第三映射关系;
所述根据所述目标待测模型和目标测试过程程序,分别呈现测试输入文件标识列表和测试环境文件标识列表,包括:
根据所述目标待测模型和目标测试过程程序,确定目标第一映射关系、目标第二映射关系、目标第三映射关系;
根据所述目标第一映射关系,呈现权重文件标识列表;
根据所述目标第二映射关系,呈现数据集标识列表;
根据所述目标第三映射关系,呈现测试环境文件标识列表。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对所述测试文件进行解析,得到待测模型的第一模型类型;
根据模型类型与预存数据集之间的预设第四映射关系,确定所述第一模型类型对应的预存数据集标识;
将所述第一模型类型对应的预存数据集标识添加至所述数据集标识列表进行呈现。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
存储测试任务的测试结果;
基于至少一个所述测试结果,按照至少一个分类维度生成至少一个对比测试报告;
其中,所述分类维度为硬件分类或测试程序版本分类。
8.一种机器学习模型测试装置,其特征在于,包括:
解析单元,用于响应于测试请求,对所述测试请求对应的测试文件进行解析,得到待测模型、测试过程程序、测试输入文件标识和测试环境文件标识;
目标程序确定单元,用于响应于用户的第一选择操作,确定目标待测模型和目标测试过程程序;
目标文件确定单元,用于响应于用户对测试输入文件标识和测试环境文件标识的第二选择操作,确定目标测试输入文件和目标测试环境文件;
测试任务生成单元,用于基于所述目标待测模型、目标测试过程程序、目标测试输入文件和目标测试环境文件,生成测试任务;
测试任务执行单元,用于执行所述测试任务。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为在执行所述存储器存储的指令时,实现权利要求1至7中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
CN202311125938.1A 2023-09-01 2023-09-01 机器学习模型测试方法及装置、电子设备和存储介质 Pending CN117009248A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311125938.1A CN117009248A (zh) 2023-09-01 2023-09-01 机器学习模型测试方法及装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311125938.1A CN117009248A (zh) 2023-09-01 2023-09-01 机器学习模型测试方法及装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117009248A true CN117009248A (zh) 2023-11-07

Family

ID=88576277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311125938.1A Pending CN117009248A (zh) 2023-09-01 2023-09-01 机器学习模型测试方法及装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117009248A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117635802A (zh) * 2023-12-13 2024-03-01 摩尔线程智能科技(北京)有限责任公司 显卡的渲染测试方法、装置、电子设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117635802A (zh) * 2023-12-13 2024-03-01 摩尔线程智能科技(北京)有限责任公司 显卡的渲染测试方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US9858177B2 (en) Automated test generation for multi-interface enterprise virtualization management environment
CN111026645B (zh) 用户界面自动化测试方法、装置、存储介质及电子设备
CN107729246B (zh) 针对目标应用的辅助测试方法、装置、设备及存储介质
US9582270B2 (en) Effective feature location in large legacy systems
US9798650B1 (en) Application testing system and method
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN117009248A (zh) 机器学习模型测试方法及装置、电子设备和存储介质
CN113127347A (zh) 一种接口测试方法、装置、设备及可读存储介质
CN113760763A (zh) 软件测试方法、设备、服务器和系统
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN111783415A (zh) 模板配置方法以及装置
CN111722995B (zh) 一种数据处理方法及装置
CN110347573B (zh) 应用程序分析方法、装置、电子设备及计算机可读介质
CN112395182A (zh) 自动化测试方法、装置、设备及计算机可读存储介质
US20230115334A1 (en) Identifying computer instructions enclosed by macros and conflicting macros at build time
CN110968500A (zh) 一种测试用例的执行方法及装置
CN113051262B (zh) 一种数据质检方法、装置、设备及存储介质
AU2017227739A1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
US11030087B2 (en) Systems and methods for automated invocation of accessibility validations in accessibility scripts
CN110928784A (zh) 一种软件测试环境监测方法及装置
CN112269804B (zh) 一种用于内存数据的模糊检索方法和系统
CN116974653B (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