CN115203012A - 人工智能性能测试方法及装置 - Google Patents
人工智能性能测试方法及装置 Download PDFInfo
- Publication number
- CN115203012A CN115203012A CN202110395487.8A CN202110395487A CN115203012A CN 115203012 A CN115203012 A CN 115203012A CN 202110395487 A CN202110395487 A CN 202110395487A CN 115203012 A CN115203012 A CN 115203012A
- Authority
- CN
- China
- Prior art keywords
- test
- artificial intelligence
- external
- script
- performance
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本申请实施例公开了一种人工智能性能测试方法及装置,其中,通过向外部被测设备发送配置脚本以及测试脚本,使得外部被测设备根据配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试,以及从外部被测设备获取测试应用进行测试所得到的测试数据。以此,减少了人工智能性能测试过程中的人工介入,同时避免了人工介入可能导致的错误,能够提高人工智能性能测试的效率和准确性。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种人工智能性能测试方法及装置。
背景技术
目前,随着人工智能技术的不断发展,人工智能模型被部署在如智能手机、平板电脑等终端设备上,用于增强终端设备的处理能力。比如,终端设备通过其部署的图像优化模型,可以对其拍摄或下载等方式获取到的图像进行优化,提升其图像质量。
相关技术中,为了能够掌握终端设备的人工智能性能,需要手动对移动终端进行人工智能性能测试,然而整个测试过程繁琐,导致针对人工智能的性能测试的效率和准确性较低。
发明内容
本申请提供了一种人工智能性能测试方法及装置,能够提高人工智能性能测试的效率和准确性。
第一方面,本申请提供一种人工智能性能测试方法,包括:
向外部被测设备发送配置脚本以及测试脚本,使得所述外部被测设备根据所述配置脚本配置人工智能加速器,并按照所述测试脚本运行所述测试应用,以对所述人工智能加速器运行人工智能模型的性能进行测试;以及
从所述外部被测设备获取所述测试应用进行测试所得到的测试数据。
第二方面,本申请提供一种人工智能性能测试装置,包括:
测试模块,用于向外部被测设备发送配置脚本以及测试脚本,使得所述外部被测设备根据所述配置脚本配置人工智能加速器,并按照所述测试脚本运行所述测试应用,以对所述人工智能加速器运行人工智能模型的性能进行测试;以及
获取模块,用于从所述外部被测设备获取所述测试应用进行测试所得到的测试数据。
采用本申请所提供的技术方案,不仅能够减少人工智能性能测试过程中的人工介入,还能够避免了人工介入可能导致的错误,从而提高人工智能性能测试的效率和准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中手动进行人工智能性能测试的流程示意图。
图2是本申请实施例提供的人工智能性能测试方法的一流程示意图。
图3是本申请实施例中电子设备和多个外部被测设备建立通信连接的示例图。
图4是本申请实施例中电子设备将配置脚本和测试脚本发送至多个外部被测设备的示例图。
图5是本申请实施例中电子设备通过爬虫脚本爬取得到测试数据的示意图。
图6是本申请实施例中电子设备将测试数据转换为JSON格式的标准化测试数据的示例图。
图7是本申请实施例中涉及的浏览器/服务器架构的示意图。
图8是本申请实施例中电子设备对数据进行可视化展示的示例图。
图9是本申请实施例提供的人工智能性能测试方法的另一流程示意图。
图10是本申请实施例提供的人工智能性能测试装置的一结构示意图。
图11是本申请实施例提供的电子设备的结构示意图。
具体实施方式
应当说明的是,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能、感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括机器学习(Machine Learning,ML)技术,其中,深度学习(Deep Learning,DL)是机器学习中一个新的研究方向,它被引入机器学习以使其更接近于最初的目标,即人工智能。目前,深度学习主要应用在计算机视觉、自然语言处理等领域。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音数据的解释有很大的帮助。利用深度学习技术,以及对应的训练数据集,能够训练得到实现不同功能的人工智能模型,比如,基于一训练数据集能够训练得到用于性别分类的人工智能模型,基于另一训练数据集能够训练得到图像优化的人工智能模型等。
目前,这些人工智能模型在部署到智能手机、平板电脑等终端设备后,需要终端设备通过适宜的人工智能加速器(比如终端设备配置的中央处理器、图形处理器、数字信号处理器或者神经网络处理器等)运行以实现功能。因此,有必要对终端设备的人工智能性能进行测试,以对人工智能模型和/或终端设备本身进行针对性的优化。
请参照图1,相关技术中,通常按照如下方式对终端设备的人工智能性能进行测试:
(1)手动向被测试的终端设备安装用于实现人工智能性能测试的测试应用,比如AI-benchmark;
(2)手动对被测试的终端设备进行配置,包括但不限于对人工智能加速器进行配置,比如指定某一人工智能加速器运行某一人工智能模型进行测试;
(3)手动操作测试应用开始测试,并等待测试结束(视被测试的终端设备的人工智能性能差异而不同,约3-8分钟);
(4)手动提取相关测试数据,比如初始化时长、执行时长、精度等。
由上可知,相关技术中,较多的测试环节需要手动介入,并且等待时间、独占周期较长,手动提取测试数据也可能出错,导致现有的针对终端设备的人工智能性能测试的效率和准确性较低。因此,有必要对现有的针对终端设备的人工智能性能测试流程进行改进。
为提升人工智能性能测试的效率和准确性,本申请提供一种人工智能性能测试方法、人工智能性能测试装置、存储介质及电子设备,其中人工智能性能测试方法的执行主体可以是本申请实施例提供的人工智能性能测试装置,或者集成了该人工智能性能测试装置的电子设备,其中该人工智能性能测试装置可以采用硬件或者软件的方式实现。其中,电子设备可以是服务器、台式电脑或者智能手机等配置有处理器而具有数据处理能力的设备。
请参照图2,图2为本申请实施例提供的人工智能性能测试方法的流程示意图,如图1所示,本申请实施例提供的人工智能性能测试方法的流程可以如下:
在110中,向外部被测设备发送配置脚本以及测试脚本,使得外部被测设备根据配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试。
以下以本申请提供的人工智能性能测试方法由电子设备执行为例进行说明。
在本申请实施例中,在触发针对外部被测设备的人工智能性能测试后,电子设备向外部被测设备发送配置脚本以及测试脚本。其中,外部被测设备至少为一个,外部被测设备可以为任意能够运行人工智能模型的终端设备,包括但不限于智能手机、平板电脑、电视等。
应当说明的是,本申请实施例中对于触发针对外部被测设备的人工智能性能测试的方式不做具体限制,可由本领域技术人员根据实际需要进行配置。
示例性地,在本申请实施例中,测试人员可以预先建立电子设备与外部被测设备的通信连接。其中,电子设备与外部被测设备的通信连接可以是有线通信连接,也可以无线通信连接。以有线通信连接为例,测试人员可以通过通用串行总线数据线直接将电子设备与一外部被测设备连接,从而建立电子设备与该外部被测设备的有线通信连接;此外,请参照图3,测试人员还可以通过通用串行总线数据线与通用串行总线集线器连接,然后再通过通用串行总线数据线与多个外部被测设备连接,以此来建立电子设备与多个外部被测设备的有线通信连接。
如上,在建立电子设备与外部被测设备之间的通信连接之后,电子设备即可按照预先配置的交互规则,与外部被测设备进行交互,从而互相识别到对方(比如,以智能手机作为外部被测设备为例,智能手机可以传输国际移动设备识别码等能够唯一表征其身份的标识信息至电子设备,供电子设备识别其身份)。其中,此处对前述交互规则不做具体限制,可由本领域技术人员根据实际需要进行配置。
之后,电子设备即可按照预先配置的测试触发规则,适时触发针对外部被测设备的人工智能性能测试。此处对前述测试触发规则不做具体限制,可由本领域技术人员根据实际需要进行配置。
比如,可以配置测试触发规则为:
电子设备在接收到输入的用于指示对外部被测设备进行人工智能性能测试的触发操作时,触发针对外部被测设备的人工智能性能测试;或者
电子设备周期性地定时触发针对外部被测设备的人工智能性能测试;或者
电子设备在侦测到当前满足预设的测试触发条件时,触发针对外部被测设备的人工智能性能测试。
其中,配置脚本包括用于对外部被测设备进行人工智能性能测试相关配置的配置指令,比如,用于配置外部被测设备进行人工智能性能测试的人工智能模型进行配置的配置指令,用于配置外部被测设备进行人工智能性能测试的人工智能加速器的配置指令等。
测试脚本包括用于控制测试应用进行人工智能性能测试所需执行操作的测试指令。比如,以外部被测设备采用安卓系统为例,由于安卓系统提供有Uiautomator框架,而Uiautomator框架提供了基于控件和坐标的操作方式,可以模拟实现几乎UI(UserInterface,用户界面)层所有的人工操作,而且可以直接调用系统的API函数。因此,本申请实施例中针对Uiautomator进行测试脚本的编写。
应当说明的是,本申请实施例中对于以上配置脚本和测试脚本的编写不作具体限制,可由本领域技术人员根据实际需要进行编写。
在本申请实施例中,在触发针对外部被测设备的人工智能性能测试后,电子设备向外部被测设备发送配置脚本以及测试脚本。比如,请参照图4,当电子设备通过通用串行总线集线器与多个外部被测设备建立通信连接时,电子设备可以通过该通用串行总线集线器将配置脚本和测试脚本分发至每一外部被测设备。
另一方面,外部被测设备在接收到电子设备发送的配置脚本以及测试脚本之后,首先根据该配置脚本进行人工智能加速器的配置,比如,将A人工智能加速器配置为运行第一人工智能模型的人工智能加速器,将B人工智能加速器配置为运行第二人工智能模型的人工智能加速器,将C人工智能加速器配置为运行第三人工智能模型的人工智能加速器。
如上,外部被测设备在按照配置脚本完成对人工智能加速器的配置之后,按照前述测试脚本对测试应用的运行进行控制,从而对人工智能加速器运行人工智能模型的性能进行测试,相应得到测试数据。
其中,测试数据包括但不限于人工智能加速器运行人工智能模型的初始化时长、运行时长以及精度等测试结果数据,以及用于描述本次测试的测试元数据(比如测试的数据类型(如浮点型或整型),针对的人工智能模型,运行人工智能模型的人工智能加速器等)。
在120中,获取测试应用进行测试所得到的测试数据。
如上,电子设备在向外部被测设备发送配置脚本以及测试脚本之后,还侦测外部被测设备是否通过测试应用完成测试并获得测试数据,若侦测到外部被测设备通过测试应用完成测试并获得测试数据,则从外部被测设备获取测试应用进行测试所得到的测试数据。
在电子设备获取得到外部被测设备通过测试应用进行测试所得到的测试数据之后,即可根据这些测试数据对外部被测设备的人工智能性能进行评估。
由上可知,本申请中,通过向外部被测设备发送配置脚本以及测试脚本,使得外部被测设备根据配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试,以及从外部被测设备获取测试应用进行测试所得到的测试数据。以此,减少了人工智能性能测试过程中的人工介入,同时避免了人工介入可能导致的错误,能够提高人工智能性能测试的效率和准确性。
可选地,在一实施例中,向外部被测设备发送配置脚本以及测试脚本之前,还包括:
将测试应用安装至外部被测设备。
本申请实施例中,电子设备在触发针对外部被测设备的人工智能性能测试后,首先将用于人工智能性能测试的测试应用安装至外部被测设备。此处对测试应用的选择不做具体限制,可由本领域技术人员根据实际需要选择任一具备人工智能性能测试的应用作为测试应用。
应当说明的是,本申请实施例中对于如何将测试应用安装至外部被测设备不做具体限制,可由本领域技术人员根据实际需要选择测试应用的安装方式。
比如,以外部被测设备采用安卓系统为例,电子设备基于其与外部被测设备之间的通信连接,采用ADB(Android Debug Bridge,安卓调试桥)协议将测试应用的安装包传输至外部被测设备,并指示外部被测设备利用该安装包实现测试应用的安装。
可选地,在一实施例中,测试脚本包括测试指令和爬虫脚本,测试指令用于控制测试应用的运行,以对人工智能加速器运行人工智能模型的性能进行测试,从外部被测设备获取测试应用进行测试所得到的测试数据,包括:
通过爬虫脚本从外部被测设备爬取测试应用进行测试所得到的测试数据。
在本申请实施例中,测试脚本由两部分组成,分别为用于控制外部被测设备对测试应用的运行(即对测试应用进行人工智能性能测试所需执行操作进行控制)的测试指令,以及用于对测试应用产生的数据进行爬取的爬虫脚本。
应当说明的是,本申请实施例对于爬虫脚本的编写不做具体限制,可由本领域技术人员根据实际需要进行编写。
比如,以外部被测设备采用安卓系统为例,可基于安卓系统提供的Uiautomator框架进行爬虫脚本的编写,其编写逻辑是通过分析测试应用的UI布局和控件结构以及控件属性来进行针对性地遍历搜索,以爬取得到期望的测试数据。
比如,请参照图5,示出了测试应用在测试完成后所展示的测试结果界面,该测试结果界面即展示了外部被测设备通过人工智能加速器运行人工智能模型的相关测试数据,如图5示出的关于“MobileNet-V2人工智能模型”的测试数据和关于“Inception-V3人工智能模型”的测试数据。此时,电子设备即可通过爬虫脚本对该测试结果界面进行数据爬取,从而爬取得到相应的测试数据。
可选地,在一实施例中,外部被测设备为多个,向外部被测设备发送配置脚本以及测试脚本,包括:
向每一外部被测设备发送对应的配置脚本以及对应的测试脚本。
本申请实施例中,提供一可选地针对多个外部被测设备的并行测试方案。
其中,外部被测设备为多个,相应的,在触发人工智能性能测试之前,需要建立电子设备与前述多个外部被测设备中每一外部被测设备的通信连接,比如,可以按照图3所示的连接方式建立电子设备与多个外部被测设备的通信连接。
可以理解的是,对于多个外部被测设备而言,不同的外部被测设备所部署的人工智能模型可能不同,配置的人工智能加速器也可能不同。因此,电子设备需要针对性地进行配置脚本以及测试脚本的发送。
其中,针对每一外部被测设备,电子设备向每一外部被测设备发送与之对应的配置脚本以及对应的测试脚本。
比如,以电子设备对A外部被测设备、B外部被测设备、C外部被测设备以及D外部被测设备进行并行的人工智能性能测试为例,电子设备向A外部被测设备发送与之对应的第一配置脚本以及对应的第一测试脚本,向B外部被测设备发送与之对应的第二配置脚本以及对应的第二测试脚本,向C外部被测设备发送与之对应的第三配置脚本以及对应的第三测试脚本,以及向D外部被测设备发送与之对应的第四配置脚本以及对应的第四测试脚本。
可选地,在一实施例中,向每一外部被测设备发送对应的配置脚本以及对应的测试脚本之前,还包括:
从外部脚本服务器获取对应每一外部被测设备的配置脚本以及测试脚本。
为了更高效地对配置脚本以及测试脚本进行维护,本申请实施例提供外部脚本服务器对配置脚本和测试脚本进行统一维护。
本申请实施例中,相关测试人员可以在完成对一外部被测设备的配置脚本/测试脚本的编写(可以是初次编写,也可以是更新)后,将对应该外部被测设备的配置脚本/测试脚本上传至外部脚本服务器,以此,外部脚本服务器将存储有对应不同外部被测设备的配置脚本和测试脚本。
在触发针对外部被测设备的人工智能性能测试时,电子设备从外部脚本服务器获取对应每一外部被测设备的配置脚本以及测试脚本,并向每一外部被测设备发送对应的配置脚本以及对应的测试脚本。
其中,对于同一外部被测设备,可以采用版本号来区分对应该外部被测设备的配置脚本/测试脚本,相应的,当一外部被测设备对应多个配置脚本和测试脚本时,针对该外部被测设备,电子设备获取其对应的版本号最新的配置脚本以及版本号最新的测试脚本。
可选地,在一实施例中,本申请提供的人工智能性能测试方法还包括:
在侦测到人工智能模型更新时,触发人工智能性能测试;或者
在侦测到测试应用更新时,触发人工智能性能测试;或者
在侦测到配置脚本更新时,触发人工智能性能测试;或者
在侦测到测试脚本更新时,触发人工智能性能测试。
本申请实施例提供多个可选地人工智能性能测试的触发方式。
作为一可选地实施方式,电子设备可以在侦测到外部被测设备部署的人工智能模型更新时,触发针对该外部被测设备的人工智能性能测试。
作为另一可选地实施方式,电子设备可以在侦测到测试应用更新时,触发人工智能性能测试。并且,电子设备将更新后的测试应用安装至外部被测设备,用于对外部被测设备的人工智能性能测试,具体请参照以上实施例的相关描述,此处不再赘述。
作为又一可选地实施方式,电子设备可以在侦测到配置脚本更新时,触发针对该配置脚本对应的外部被测设备的人工智能性能测试。
作为再一可选地实施方式,电子设备可以在侦测到测试脚本更新时,触发针对该测试脚本对应的外部被测设备的人工智能性能测试。
可选地,在一实施例中,获取测试应用进行测试所得到的测试数据之后,还包括:
对测试数据进行格式转换处理,得到标准化测试数据。
为了更便利地对测试数据进行存储以及后续的处理,本申请实施例中还对测试数据进行格式转换处理,使其标准化。
其中,电子设备对测试数据进行格式转换处理,得到指定格式的标准化测试数据。应当说明的是,此处对测试数据转换后的数据格式(即指定格式)不做具体限制,可由本领域技术人员根据实际需要进行配置。
示例性地,本申请实施例中将测试数据的数据格式转换为JSON格式。JSON是一种轻量级的数据交换格式,它基于欧洲计算机协会指定的JavaScript(是一种具有函数优先的轻量级,解释型或即时编译型的编程语言)规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
比如,本申请实施例中,提供有JSON格式化模板,该JSON格式化模板被配置为将测试数据转换为JSON格式的标准化测试数据,如图6所示。
可选地,在一实施例中,得到标准化测试数据之后,还包括:
按照预设评分规则对标准化测试数据进行评分,得到针对外部被测设备的人工智能性能值。
为了对外部被测设备的人工智能性能进行量化,本申请实施例进一步提供一可选地量化方式。
应当说明的是,本申请实施例中配置有预设评分规则,用于对标准化测试数据进行评分。此处对应该预设评分规则的配置不做具体限制,可由本领域技术人员根据实际需要进行配置,比如,可以采用与测试用于相同的评分规则。
本申请实施例中,电子设备在完成对测试数据的格式转换处理,并得到标准化测试数据之后,进一步按照配置的预设评分规则对标准化测试数据进行评分,从而得到该标准化测试数据对应的外部被测设备的人工智能性能值。
应当说明的是,测试数据包括测试结果数据和测试元数据,相应的,标准化测试数据包括标准化测试结果数据和标准化测试元数据。电子设备在进行评分时,具体按照配置的预设评分规则对标准化测试数据中的标准化测试结果数据进行评分,从而得到该标准化测试数据对应的外部被测设备的人工智能性能值。电子设备进一步将该人工智能性能值与其对应的标准化测试元数据关联,并与其对应的外部被测设备绑定。比如,电子设备基于外部被测设备的国际移动设备识别码实现对外部被测设备的身份识别时,电子设备将评分得到的人工智能性能值与其对应的标准化测试元数据关联,并与对应的外部被测设备的国际移动设备码绑定。
可选地,在一实施例中,按照预设评分规则对标准化测试数据进行评分,得到针对外部被测设备的人工智能性能值之后,还包括:
将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间。
为更好地对测试数据进行维护,以便用于后续地分析、处理以及查看等,本申请实施例进一步提供一可选地针对测试数据的持久化方案。
其中,电子设备在按照预设评分规则对标准化测试数据进行评分,并得到针对外部被测设备人工智能性能值之后,将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间。
应当说明的是,本申请实施例对于前述持久化路径的配置不做具体限制,可由本领域技术人员根据实际需要进行配置,既可以将前述持久化路径配置为指向本地的存储空间,也可以将前述持久化路径配置为指向外部的存储空间,如外部的数据库服务器。
示例性地,配置前述持久化路径指向电子设备本地的数据库的存储空间,其中数据库包括但不限于关系型数据库(如MySQL)、非关系型数据库(如Bigtable)以及键值数据库(如LevelDB)等。
比如,配置持久化路径指向电子设备本地的MySQL数据库,相应的电子设备在按照预设评分规则对标准化测试数据进行评分,并得到针对外部被测设备人工智能性能值之后,将该人工智能性能值、其关联标准化测试元数据关联,以及绑定的外部被测设备的国际移动设备码进行键值涉及后,存储至持久化路径指向的MySQL数据库。
可选地,在一实施例中,将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间之后,还包括:
(1)在接收到外部网页服务器的数据获取请求时,从存储空间获取对应数据获取请求的人工智能性能值,数据获取请求由外部网页服务器在接收到外部查询设备的查询请求时发送;
(2)将对应数据获取请求的人工智能性能值返回至外部网页服务器,使得外部网页服务器将对应数据获取请求的人工智能性能值提供至外部查询设备进行展示。
本申请实施例进一步提供一可选地持久化数据的可视化方案。
示例性地,请参照图7,本申请采用浏览器/服务器架构,包括前端、网页服务器以及数据库四层。
其中,前端主要用于数据查询(request请求)和表单提交/修改/删除(post请求),比如采用VUE前端框架JavaScript技术栈做相关页面展示,如前述外部被测设备相关的基础信息(如国际移动设备识别码、标准化测试元数据等)和人工智能性能值。
网页服务器为前端提供相关的API(Application Programming Interface,应用程序接口)支持,处理前端请求和业务逻辑并返回相应的响应(response)。API是一种计算接口,它定义多个软件中介之间的交互,以及可以进行的调用(call)或请求(request)的种类,如何进行调用或发出请求,应使用的数据格式,应遵循的惯例等。它还可以提供扩展机制,以便用户可以通过各种方式对现有功能进行不同程度的扩展。
数据访问层为网页服务器与数据库之间的中介层,其主要作用是进行隔离,把与数据库打交道的事情都放在数据访问层解决,网页服务器则只要调用数据访问层就可以了,不必和具体的对象关系映射层实现相耦合,实现了高内聚,低耦合。
数据库部署在电子设备上,以表的形式来存储数据,比如采用双保险备份:(1)每天定时备份;(2)数据库表有更新触发自动备份。
基于以上的浏览器/服务器架构,提出本申请的数据可视化方案。
其中,电子设备在接收到外部网页服务器的数据获取请求时,从存储空间获取对应数据获取请求的人工智能性能值,该数据获取请求由外部网页服务器在接收到外部查询设备的查询请求时发送;以及将对应数据获取请求的人工智能性能值返回至外部网页服务器,使得外部网页服务器将对应数据获取请求的人工智能性能值提供至外部查询设备进行展示。
比如,请参照图8,外部查询设备在接收到用户通过浏览器下达的查询请求时,将该查询请求发送至外部网页服务器,指示外部网页服务器返回某外部被测设备的相关测试信息;外部网页服务器在接收到来自外部查询设备的查询请求后,根据该查询请求生成对应的数据获取请求,并将生成的数据获取请求发送至电子设备,指示电子设备返回外部被测设备的相关测试信息;电子设备在接收到来自外部网页服务器的数据获取请求之后,根据该数据获取请求从数据库对应的存储空间中获取到指示的人工智能性能值以及标准化测试元数据,并将获取到的人工智能性能值以及标准化测试元数据返回至外部网页服务器,使得外部网页服务器将人工智能性能值以及标准化测试元数据提供至外部查询设备,由外部查询设备通过浏览器向用户展示。
在其他实施例中,电子设备还可以根据外部网页服务器的请求,对前述持久化路径对应的存储空间中的测试相关数据进行增加操作、删除操作以及修改操作等。
以下以电子设备为执行主体,外部被测设备采用安卓系统为例,对本申请提供的人工智能性能测试方法进行说明,请参照图9,该人工智能性能测试方法的流程可以如下:
在210中,在触发针对多个外部被测设备的人工智能性能测试时,电子设备通过ADB协议将测试应用安装至每一外部被测设备。
本申请实施例中,测试人员可以预先建立电子设备与外部被测设备的通信连接。其中,电子设备与外部被测设备的通信连接可以是有线通信连接,也可以无线通信连接。
比如,请参照图3,测试人员可以通过通用串行总线数据线与通用串行总线集线器连接,然后再通过通用串行总线数据线与多个外部被测设备连接,以此来建立电子设备与多个外部被测设备的有线通信连接。
如上,在建立电子设备与外部被测设备之间的通信连接之后,电子设备即可按照预先配置的交互规则,与外部被测设备进行交互,从而互相识别到对方(比如,以智能手机作为外部被测设备为例,智能手机可以传输国际移动设备识别码等能够唯一表征其身份的标识信息至电子设备,供电子设备识别其身份)。其中,此处对前述交互规则不做具体限制,可由本领域技术人员根据实际需要进行配置。
之后,电子设备即可按照预先配置的测试触发规则,适时触发针对外部被测设备的人工智能性能测试。此处对前述测试触发规则不做具体限制,可由本领域技术人员根据实际需要进行配置。
比如,可以配置测试触发规则为:
电子设备在接收到输入的用于指示对外部被测设备进行人工智能性能测试的触发操作时,触发针对外部被测设备的人工智能性能测试;或者
电子设备周期性地定时触发针对外部被测设备的人工智能性能测试;或者
电子设备在侦测到当前满足预设的测试触发条件时,触发针对外部被测设备的人工智能性能测试。
本申请实施例中,电子设备在触发针对外部被测设备的人工智能性能测试时,将用于人工智能性能测试的测试应用安装至外部被测设备。此处对测试应用的选择不做具体限制,可由本领域技术人员根据实际需要选择任一具备人工智能性能测试的应用作为测试应用。
其中,电子设备基于其与外部被测设备之间的通信连接,采用ADB(Android DebugBridge,安卓调试桥)协议将测试应用的安装包传输至每一外部被测设备,并指示外部被测设备利用该安装包实现测试应用的安装。
在220中,电子设备通过ADB协议向每一外部被测设备发送对应的配置脚本以及测试脚本,使得每一外部被测脚本根据其对应的配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试。
其中,配置脚本包括用于对外部被测设备进行人工智能性能测试相关配置的配置指令,比如,用于配置外部被测设备进行人工智能性能测试的人工智能模型进行配置的配置指令,用于配置外部被测设备进行人工智能性能测试的人工智能加速器的配置指令等。
测试脚本包括用于控制测试应用进行人工智能性能测试所需执行操作的测试指令。比如,以外部被测设备采用安卓系统为例,由于安卓系统提供有Uiautomator框架,而Uiautomator框架提供了基于控件和坐标的操作方式,可以模拟实现几乎UI(UserInterface,用户界面)层所有的人工操作,而且可以直接调用系统的API函数。因此,本申请实施例中针对Uiautomator进行测试脚本的编写。
应当说明的是,本申请实施例中对于以上配置脚本和测试脚本的编写不作具体限制,可由本领域技术人员根据实际需要进行编写。
应当说明的是,以上210和220的执行不受序号大小的限制,可以是210在220之前执行,也可以是210在220之后执行,还可以是210和220同时执行。
相应的,在本申请实施例中,在触发针对外部被测设备的人工智能性能测试后,电子设备除了将测试应用安装至每一外部被测设备之外,还向每一外部被测设备发送对应的配置脚本以及对应的测试脚本。
另一方面,外部被测设备在接收到电子设备发送的配置脚本以及测试脚本之后,首先根据该配置脚本进行人工智能加速器的配置,比如,将A人工智能加速器配置为运行第一人工智能模型的人工智能加速器,将B人工智能加速器配置为运行第二人工智能模型的人工智能加速器,将C人工智能加速器配置为运行第三人工智能模型的人工智能加速器。
如上,外部被测设备在按照配置脚本完成对人工智能加速器的配置之后,按照前述测试脚本对测试应用的运行进行控制,从而对人工智能加速器运行人工智能模型的性能进行测试,相应得到测试数据。
其中,测试数据包括但不限于人工智能加速器运行人工智能模型的初始化时长、运行时长以及精度等测试结果数据,以及用于描述本次测试的测试元数据(比如测试的数据类型(如浮点型或整型),针对的人工智能模型,运行人工智能模型的人工智能加速器等)。
在230中,电子设备从每一外部被测设备获取测试应用进行测试所得到的测试数据。
如上,电子设备在向外部被测设备发送配置脚本以及测试脚本之后,还侦测外部被测设备是否通过测试应用完成测试并获得测试数据,若侦测到外部被测设备通过测试应用完成测试并获得测试数据,则从外部被测设备获取测试应用进行测试所得到的测试数据。
在240中,电子设备对获取到的测试数据进行格式转换处理,得到标准化测试数据。
为了更便利地对测试数据进行存储以及后续的处理,本申请实施例中还对测试数据进行格式转换处理,使其标准化。
其中,电子设备对测试数据进行格式转换处理,得到指定格式的标准化测试数据。应当说明的是,此处对测试数据转换后的数据格式(即指定格式)不做具体限制,可由本领域技术人员根据实际需要进行配置。
示例性地,本申请实施例中将测试数据的数据格式转换为JSON格式。JSON是一种轻量级的数据交换格式,它基于欧洲计算机协会指定的JavaScript(是一种具有函数优先的轻量级,解释型或即时编译型的编程语言)规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
比如,本申请实施例中,提供有JSON格式化模板,该JSON格式化模板被配置为将测试数据转换为JSON格式的标准化测试数据,如图6所示。
在250中,电子设备按照预设预设评分规则对每一外部被测设备的标准化测试数据进行评分,得到每一外部被测设备的人工智能性能值。
为了对外部被测设备的人工智能性能进行量化,本申请实施例进一步提供一可选地量化方式。
应当说明的是,本申请实施例中配置有预设评分规则,用于对标准化测试数据进行评分。此处对应该预设评分规则的配置不做具体限制,可由本领域技术人员根据实际需要进行配置,比如,可以采用与测试用于相同的评分规则。
本申请实施例中,电子设备在完成对测试数据的格式转换处理,并得到标准化测试数据之后,进一步按照配置的预设评分规则对标准化测试数据进行评分,从而得到该标准化测试数据对应的外部被测设备的人工智能性能值。
应当说明的是,测试数据包括测试结果数据和测试元数据,相应的,标准化测试数据包括标准化测试结果数据和标准化测试元数据。电子设备在进行评分时,具体按照配置的预设评分规则对标准化测试数据中的标准化测试结果数据进行评分,从而得到该标准化测试数据对应的外部被测设备的人工智能性能值。电子设备进一步将该人工智能性能值与其对应的标准化测试元数据关联,并与其对应的外部被测设备绑定。比如,电子设备基于外部被测设备的国际移动设备识别码实现对外部被测设备的身份识别时,电子设备将评分得到的人工智能性能值与其对应的标准化测试元数据关联,并与对应的外部被测设备的国际移动设备码绑定。
在260中,电子设备将每一外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间,以供外部网页服务器查询。
为更好地对测试数据进行维护,以便用于后续地分析、处理以及查看等,本申请实施例进一步提供一可选地针对测试数据的持久化方案。
其中,电子设备在按照预设评分规则对标准化测试数据进行评分,并得到针对外部被测设备人工智能性能值之后,将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间。
应当说明的是,本申请实施例对于前述持久化路径的配置不做具体限制,可由本领域技术人员根据实际需要进行配置,既可以将前述持久化路径配置为指向本地的存储空间,也可以将前述持久化路径配置为指向外部的存储空间,如外部的数据库服务器。
示例性地,配置前述持久化路径指向电子设备本地的数据库的存储空间,其中数据库包括但不限于关系型数据库(如MySQL)、非关系型数据库(如Bigtable)以及键值数据库(如LevelDB)等。
比如,配置持久化路径指向电子设备本地的MySQL数据库,相应的电子设备在按照预设评分规则对标准化测试数据进行评分,并得到针对外部被测设备人工智能性能值之后,将该人工智能性能值、其关联标准化测试元数据关联,以及绑定的外部被测设备的国际移动设备码进行键值涉及后,存储至持久化路径指向的MySQL数据库。
至此,持久化后的测试相关数据即可供外部网页服务器查询,展示。
请参照图10,图10为本申请实施例提供的人工智能性能测试装置300的一结构示意图。该人工智能性能测试装置300应用于本申请提供的电子设备。如图10所示,该人工智能性能测试装置300可以包括:
测试模块310,用于向外部被测设备发送配置脚本以及测试脚本,使得外部被测设备根据配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试;以及
获取模块320,用于从外部被测设备获取测试应用进行测试所得到的测试数据。
可选地,在一实施例中,测试脚本包括测试指令和爬虫脚本,测试指令用于控制测试应用的运行,以对人工智能加速器运行人工智能模型的性能进行测试,在从外部被测设备获取测试应用进行测试所得到的测试数据时,获取模块320用于:
通过爬虫脚本从外部被测设备爬取测试应用进行测试所得到的测试数据。
可选地,在一实施例中,外部被测设备为多个,在向外部被测设备发送配置脚本以及测试脚本时,测试模块310用于:
向每一外部被测设备发送对应的配置脚本以及对应的测试脚本。
可选地,在一实施例中,在向每一外部被测设备发送对应的配置脚本以及对应的测试脚本之前,测试模块310还用于:
从外部脚本服务器获取对应每一外部被测设备的配置脚本以及测试脚本。
可选地,在一实施例中,本申请提供的人工智能性能测试装置还包括触发模块,用于:
在侦测到人工智能模型更新时,触发人工智能性能测试;或者
在侦测到测试应用更新时,触发人工智能性能测试;或者
在侦测到配置脚本更新时,触发人工智能性能测试;或者
在侦测到测试脚本更新时,触发人工智能性能测试。
可选地,在一实施例中,本申请提供的人工智能性能测试装置还包括标准化模块,在获取测试应用进行测试所得到的测试数据之后,用于:
对测试数据进行格式转换处理,得到标准化测试数据。
可选地,在一实施例中,本申请提供的人工智能性能测试装置还包括评分模块,在对测试数据进行格式转换处理,得到标准化测试数据之后,用于:
按照预设评分规则对标准化测试数据进行评分,得到针对外部被测设备的人工智能性能值。
可选地,在一实施例中,本申请提供的人工智能性能测试装置还包括持久化模块,在按照预设评分规则对标准化测试数据进行评分,得到针对外部被测设备的人工智能性能值之后,用于:
将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间。
可选地,在一实施例中,本申请提供的人工智能性能测试装置还包括展示模块,在将外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间之后,用于:
在接收到外部网页服务器的数据获取请求时,从存储空间获取对应数据获取请求的人工智能性能值,数据获取请求由外部网页服务器在接收到外部查询设备的查询请求时发送;
将对应数据获取请求的人工智能性能值返回至外部网页服务器,使得外部网页服务器将对应数据获取请求的人工智能性能值提供至外部查询设备进行展示。
应当说明的是,本申请实施例提供的人工智能性能测试装置与上文实施例中的适于电子设备的人工智能性能测试方法属于同一构思,其具体实现过程详见以上相关实施例,此处不再赘述。
本申请实施例提供一种存储介质,其上存储有计算机程序,当其存储的计算机程序在本申请实施例提供的电子设备的处理器上执行时,使得电子设备的处理器执行以上任一人工智能性能测试方法中的步骤。其中,存储介质可以是磁碟、光盘、只读存储器(ReadOnly Memory,ROM)或者随机存取器(Random Access Memory,RAM)等。
本申请还提供一种电子设备,请参照图11,电子设备400包括处理器410和存储器420。
本申请实施例中的处理器410可以是通用处理器,比如ARM架构的处理器。
存储器420中存储有计算机程序,其可以为高速随机存取存储器,还可以为非易失性存储器,比如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。相应地,存储器420还可以包括存储器控制器,以提供处理器401对存储器420的访问。处理器410通过执行存储器420中的计算机程序,用于执行以上人工智能性能测试方法,比如:
向外部被测设备发送配置脚本以及测试脚本,使得外部被测设备根据配置脚本配置人工智能加速器,并按照测试脚本运行测试应用,以对人工智能加速器运行人工智能模型的性能进行测试;以及
从外部被测设备获取测试应用进行测试所得到的测试数据。
以上对本申请所提供的一种人工智能性能测试方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种人工智能性能测试方法,其特征在于,包括:
向外部被测设备发送配置脚本以及测试脚本,使得所述外部被测设备根据所述配置脚本配置人工智能加速器,并按照所述测试脚本运行测试应用,以对所述人工智能加速器运行人工智能模型的性能进行测试;
从所述外部被测设备获取所述测试应用进行测试所得到的测试数据。
2.如权利要求1所述的人工智能性能测试方法,其特征在于,所述测试脚本包括测试指令和爬虫脚本,所述测试指令用于控制所述测试应用的运行,以对所述人工智能加速器运行人工智能模型的性能进行测试,所述从所述外部被测设备获取所述测试应用进行测试所得到的测试数据,包括:
通过所述爬虫脚本从所述外部被测设备爬取所述测试应用进行测试所得到的测试数据。
3.如权利要求1所述的人工智能性能测试方法,其特征在于,所述外部被测设备为多个,所述向外部被测设备发送配置脚本以及测试脚本,包括:
向每一所述外部被测设备发送对应的配置脚本以及对应的测试脚本。
4.如权利要求3所述的人工智能性能测试方法,其特征在于,所述向每一所述外部被测设备发送对应的配置脚本以及对应的测试脚本之前,还包括:
从外部脚本服务器获取对应每一所述外部被测设备的配置脚本以及测试脚本。
5.如权利要求1所述的人工智能性能测试方法,其特征在于,还包括:
在侦测到所述人工智能模型更新时,触发所述人工智能性能测试;或者
在侦测到所述测试应用更新时,触发所述人工智能性能测试;或者
在侦测到所述配置脚本更新时,触发所述人工智能性能测试;或者
在侦测到所述测试脚本更新时,触发所述人工智能性能测试。
6.如权利要求1-5任一项所述的人工智能性能测试方法,其特征在于,所述获取所述测试应用进行测试所得到的测试数据之后,还包括:
对所述测试数据进行格式转换处理,得到标准化测试数据。
7.如权利要求6所述的人工智能性能测试方法,所述对所述测试数据进行格式转换处理,得到标准化测试数据之后,还包括:
按照预设评分规则对所述标准化测试数据进行评分,得到针对所述外部被测设备的人工智能性能值。
8.如权利要求7所述的人工智能性能测试方法,其特征在于,所述按照预设评分规则对所述标准化测试数据进行评分,得到针对所述外部被测设备的人工智能性能值之后,还包括:
将所述外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间。
9.如权利要求8所述的人工智能性能测试方法,其特征在于,所述将所述外部被测设备的人工智能性能值存储至预设的持久化路径所对应的存储空间之后,还包括:
在接收到外部网页服务器的数据获取请求时,从所述存储空间获取对应所述数据获取请求的人工智能性能值,所述数据获取请求由所述外部网页服务器在接收到外部查询设备的查询请求时发送;
将所述对应所述数据获取请求的人工智能性能值返回至所述外部网页服务器,使得所述外部网页服务器将所述对应所述数据获取请求的人工智能性能值提供至所述外部查询设备进行展示。
10.一种人工智能性能测试装置,其特征在于,包括:
测试模块,用于向外部被测设备发送配置脚本以及测试脚本,使得所述外部被测设备根据所述配置脚本配置人工智能加速器,并按照所述测试脚本运行所述测试应用,以对所述人工智能加速器运行人工智能模型的性能进行测试;以及
获取模块,用于从所述外部被测设备获取所述测试应用进行测试所得到的测试数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395487.8A CN115203012A (zh) | 2021-04-13 | 2021-04-13 | 人工智能性能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110395487.8A CN115203012A (zh) | 2021-04-13 | 2021-04-13 | 人工智能性能测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203012A true CN115203012A (zh) | 2022-10-18 |
Family
ID=83571320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110395487.8A Pending CN115203012A (zh) | 2021-04-13 | 2021-04-13 | 人工智能性能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203012A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010437A (zh) * | 2023-03-20 | 2023-04-25 | 成都佰维存储科技有限公司 | 设备码写入方法、装置、可读存储介质及电子设备 |
CN117033247A (zh) * | 2023-10-07 | 2023-11-10 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
-
2021
- 2021-04-13 CN CN202110395487.8A patent/CN115203012A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010437A (zh) * | 2023-03-20 | 2023-04-25 | 成都佰维存储科技有限公司 | 设备码写入方法、装置、可读存储介质及电子设备 |
CN116010437B (zh) * | 2023-03-20 | 2023-12-19 | 成都佰维存储科技有限公司 | 设备码写入方法、装置、可读存储介质及电子设备 |
CN117033247A (zh) * | 2023-10-07 | 2023-11-10 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
CN117033247B (zh) * | 2023-10-07 | 2023-12-12 | 宜宾邦华智慧科技有限公司 | 一种手机、平板电脑搭载的验证方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11814077B2 (en) | Method and apparatus for storing autonomous driving test data and electronic device | |
US10318409B2 (en) | Application development environment for portable electronic devices | |
US10409712B2 (en) | Device based visual test automation | |
US9720799B1 (en) | Validating applications using object level hierarchy analysis | |
EP3859533A2 (en) | Method and apparatus for testing map service, electronic device, storage medium and computer program product | |
US10216377B2 (en) | Visual regression analysis | |
US11501753B2 (en) | System and method for automating natural language understanding (NLU) in skill development | |
CN115203012A (zh) | 人工智能性能测试方法及装置 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
US9336124B2 (en) | Automatic remote execution of an application | |
CN106021101B (zh) | 对移动终端进行测试的方法及装置 | |
CN110532182A (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
KR20210036167A (ko) | 어플리케이션의 테스트 자동화 | |
CN116248526A (zh) | 部署容器平台的方法、装置及电子设备 | |
CN115562989A (zh) | 一种自动化测试序列转化方法、系统、设备和介质 | |
CN105339974B (zh) | 模拟传感器 | |
CN115169578A (zh) | 一种基于元宇宙数据标记的ai模型生产方法及系统 | |
CN109032947A (zh) | 用于操作系统的测试方法、装置、设备和存储介质 | |
CN106155895A (zh) | 脚本数据处理方法及装置 | |
CN116560819B (zh) | 基于rpa的批量自动化操作方法、系统、设备及储存介质 | |
EP4155944A1 (en) | Database troubleshooting with automated functionality | |
CN115617671A (zh) | 测试脚本的自动生成方法、装置、计算机设备及存储介质 | |
CN116974622A (zh) | 版本修改记录生成方法、装置、电子设备和存储介质 | |
CN116955122A (zh) | 一种覆盖率采集方法、装置、电子设备和存储介质 | |
CN113626311A (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 |