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

神经网络模型测试方法、装置、电子设备和存储介质与流程

2022-12-19 22:51:06 来源:中国专利 TAG:


1.本技术实施例涉及机器学习技术领域,尤其涉及一种神经网络模型测试方法、装置、电子设备和存储介质。


背景技术:

2.语音模型、视觉模型等神经网络模型通常在服务器上进行训练,训练获得准确率满足预期目标的神经网络模型后,将神经网络模型部署到终端设备上进行推理。在神经网络模型的训练过程中,不仅需要在服务器上对神经网络模型进行测试,还需要在终端设备上对神经网络模型进行测试,以保证将神经网络模型部署到终端设备上之后能够获得预期的推理效果。
3.目前,在神经网络模型训练过程中对神经网络模型进行测试时,在神经网络模型的每一轮训练后,首先在服务器上对训练后的神经网络模型进行测试,然后再将训练后的神经网络模型部署到终端设备上,并在终端设备上对神经网络模型进行测试,然后再在服务器上对神经网络模型进行下一轮训练。
4.然而,神经网络模型的训练需要多轮训练,每一轮训练都需要先在服务器上对训练后的神经网络模型进行测试,然后在终端设备上对训练后的神经网络模型进行测试,导致神经网络模型的测试需要花费较多时间,使得神经网络模型的训练和测试效率较低。


技术实现要素:

5.有鉴于此,本技术实施例提供一种神经网络模型测试方法、装置、电子设备和存储介质,以至少解决或缓解上述问题。
6.根据本技术实施例的第一方面,提供了一种神经网络模型测试方法,包括:通过训练集对神经网络模型进行第i轮训练,获得第i神经网络模型,其中,i为大于或等于1的正整数;在服务器上通过测试集对所述第i神经网络模型进行测试;在对所述第i神经网络模型进行测试过程中,将所述第i神经网络模型载入终端设备,以在通过所述训练集对所述神经网络模型进行第i 1轮训练获得第i 1神经网络模型时,同步在所述终端设备上通过验证集对所述第i神经网络模型进行测试。
7.根据本技术实施例的第二方面,提供了一种语音模型测试方法,包括:通过训练集对语音模型进行第i轮训练,获得第i语音模型,其中,i为大于或等于1的正整数,所述语音模型包括关键词检测模型、自动语音识别模型或断句检测模型;在服务器上通过测试集对所述第i语音模型进行测试;在对所述第i语音模型进行测试过程中,将所述第i语音模型载入终端设备,以在通过所述训练集对所述语音模型进行第i 1轮训练获得第i 1语音模型时,同步在所述终端设备上通过验证集对所述第i语音模型进行测试。
8.根据本技术实施例的第三方面,提供了一种计算机视觉模型测试方法,包括:通过训练集对计算机视觉模型进行第i轮训练,获得第i计算机视觉模型,其中,i为大于或等于1的正整数,所述计算机视觉模型包括场景分类模型、物体识别模型、精细物体类识别模型或
人脸识别模型;在服务器上通过测试集对所述第i计算机视觉模型进行测试;在对所述第i计算机视觉模型进行测试过程中,将所述第i计算机视觉模型载入终端设备,以在通过所述训练集对所述计算机视觉模型进行第i 1轮训练获得第i 1计算机视觉模型时,同步在所述终端设备上通过验证集对所述第i计算机视觉模型进行测试。
9.根据本技术实施例的第四方面,提供了一种神经网络模型测试装置,包括:训练单元,用于通过训练集对神经网络模型进行第i轮训练,获得第i神经网络模型,其中,i为大于或等于1的正整数;测试单元,用于在服务器上通过测试集对所述第i神经网络模型进行测试;载入单元,用于在对所述第i神经网络模型进行测试过程中,将所述第i神经网络模型载入终端设备,以在通过所述训练集对所述神经网络模型进行第i 1轮训练获得第i 1神经网络模型时,同步在所述终端设备上通过验证集对所述第i神经网络模型进行测试。
10.根据本技术实施例的第五方面,提供了一种电子设备,包括:处理单元、存储器、通信接口和通信总线,处理单元、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理单元执行上述第一方面、第二方面或第三方面所提供方法对应的操作。
11.根据本技术实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面、第二方面或第三方面所述的方法。
12.根据本技术实施例的第七方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行上述第一方面、第二方面或第三方面所述的方法。
13.根据本技术实施例提供的神经网络模型测试方案,服务器在对第i神经网络模型进行测试的同时,将第i神经网络模型载入终端设备,从而在服务器对神经网络模型进行第i 1轮训练时,终端设备可以对第i神经网络模型进行测试,服务器与终端设备以并行方式对神经网络模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的神经网络模型进行测试后,服务器再对神经网络模型进行下一轮训练的串行方式,可以节省至少部分终端设备对神经网络模型进行测试的时间,从而可以提高神经网络模型的训练和测试效率。
附图说明
14.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
15.图1是本技术一个实施例所应用示例性系统的示意图;
16.图2是本技术一个实施例的神经网络模型测试方法的流程图;
17.图3是本技术一个实施例的模型测试过程的示意图;
18.图4是本技术一个实施例的语音模型测试方法的流程图;
19.图5是本技术一个实施例的计算机视觉模型测试方法的流程图;
20.图6是本技术一个实施例的神经网络模型测试装置的示意图;
21.图7是本技术一个实施例的电子设备的示意图。
具体实施方式
22.以下基于实施例对本技术进行描述,但是本技术并不仅仅限于这些实施例。在下文对本技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本技术。为了避免混淆本技术的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
23.首先,对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释。
24.训练集、验证集和测试集:在机器学习领域中,需要将样本分成独立的三部分,即训练集(train set),验证集(validation set)和测试集(test set),其中,训练集用于估计模型,验证集用于确定网络结构或者控制模型复杂程度的参数,而测试集用于检验所选择最优模型的性能。
25.模型测试:对神经网络模型进行测试,是为了验证神经网络模型与预期目标的差距,以及神经网络模型运行所占用的计算资源,以综合评估所训练的神经网络模型。通过将测试集或验证集包括的样本数据输入神经网络模型,获得神经网络模型的准确率和整体性能指标。
26.模型训练:神经网络模型的训练分为数据加载阶段、正向计算阶段、损失计算阶段和反向传播阶段。数据加载阶段从数据集中加载用于模型训练的样本数据。正向计算阶段通过神经网络模型包括多个模型算子,基于样本数据计算模型预测值。损失计算阶段基于损失函数计算用于指示模型预测值与真实值的不一致程度的损失值。反向传播阶段根据损失值对神经网络模型的模型参数进行优化。
27.示例性系统
28.图1示出了一种适用于本技术实施例的神经网络模型测试方法的示例性系统。如图1所示,该系统可以包括服务器10、通信网络20和至少一个终端设备30,图1中示例的为多个终端设备30。
29.服务器10可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的服务器。在一些实施例中,服务器10可以执行任何适当的功能。在一些实施例中,服务器10可以用于神经网络模型训练,并将训练出的神经网络模型载入终端设备30,并控制终端设备30执行神经网络模型的测试流程。
30.通信网络20可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络20能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步转移模式(atm)网络、虚拟专用网(vpn)和/或任何其它合适的通信网络。终端设备30能够通过一个或多个通信链路(例如通信链路112)连接到通信网络20,该通信网络20能够经由一个或多个通信链路(例如通信链路114)被链接到服务器10。通信链路可以是适合于在服务器10与终端设备30之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
31.终端设备30可以是适合于神经网络模型推理的任何设备,终端设备30可以是任何合适类型的设备。例如,终端设备30可以是移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器或刷脸支付设备等任何合适类型的设备。
32.尽管将服务器10图示为一个设备,但是在一些实施例中,可以使用任何适当数量的设备来执行由服务器10执行的功能。例如,在一些实施例中,可以使用多个设备来实现由服务器10执行的功能,或者可使用云服务实现服务器10的功能。
33.本技术实施例主要着眼于服务器10进行神经网络模型训练、部署和测试的过程,在后文中会对神经网络模型的训练、部署和测试过程进行详细描述。
34.神经网络模型测试方法
35.基于上述系统,本技术实施例提供了一种神经网络模型测试方法,该神经网络模型测试方法可由上述系统实施例中的服务器10执行,以下通过多个实施例对该神经网络模型测试方法进行详细说明。
36.图2是本技术一个实施例的神经网络模型测试方法的流程图。如图2所示,该神经网络模型测试方法包括如下步骤:
37.步骤201、通过训练集对神经网络模型进行第i轮训练,获得第i神经网络模型。
38.待训练的神经网络模型可以是语音模型、计算机视觉模型等。在神经网络模型为语音模型时,神经网络模型可以是关键词检测模型、自动语音识别模型或断句检测模型等。在神经网络模型为计算机视觉模型时,神经网络模型可以是基于图像处理的场景分类模型、物体识别模型、精细物体类识别模型或人脸识别模型等。
39.将所有数据集按照一定比例分为训练集、测试集和验证集,比如按照18:1:1的比例将所有数据集分为训练集、测试集和验证集。训练集用于对神经网络模型进行训练,测试集和验证集用于对训练出的神经网络模型进行测试。
40.神经网络模型的训练需要多轮,比如神经网络模型的训练按照epoch进行,每个epoch使用训练集中的全部样本对神经网络模型训练一次。根据神经网络模型的复杂程度和训练集中样本的数量,对神经网络模型进行训练的轮数不同,比如整个训练过程对神经网络模型进行80轮训练,即训练过程需要80个epoch。
41.通过训练集对神经网络模型进行训练时会更新神经网络模型的模型参数,将对神经网络模型进行第i轮训练后获得的神经网络模型定义为第i神经网络模型,i为大于或等于1的正整数。应理解,第i 1轮训练的输入模型为第i轮训练所获得额的第i神经网络模型。
42.步骤202、在服务器上通过测试集对第i神经网络模型进行测试。
43.服务器在对神经网络模型进行第i轮训练获得第i神经网络模型后,服务器对第i神经网络模型进行测试,获得第i神经网络模型的准确率。
44.步骤203、在对第i神经网络模型进行测试的过程中,将第i神经网络模型载入终端设备。
45.在对第i神经网络模型进行测试的过程,通过并行的方式将第i神经网络模型载入终端设备,进而在服务器对神经网络模型进行第i 1轮训练获得第i 1神经网络模型时,终端设备可以同步通过验证集对第i神经网络模型进行测试。
46.在服务器对第i神经网络模型进行测试的同时,服务器可以通过并行线程将第i神经网络模型载入终端设备,进而在服务器开始对神经网络模型进行第i 1轮训练时,终端设备可以同步对第i神经网络模型进行测试。当i≥2时,服务器在对神经网络模型进行第i轮训练的同时,终端设备对第i-1神经网络模型进行测试。
47.在本技术实施例中,服务器在对第i神经网络模型进行测试的同时,将第i神经网
络模型载入终端设备,从而在服务器对神经网络模型进行第i 1轮训练时,终端设备可以对第i神经网络模型进行测试,服务器与终端设备以并行方式对神经网络模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的神经网络模型进行测试后,服务器再对神经网络模型进行下一轮训练的串行方式,可以节省至少部分终端设备对神经网络模型进行测试的时间,从而可以提高神经网络模型的训练和测试效率。
48.在一种可能的实现方式中,在将第i神经网络模型载入终端设备时,可以先对第i神经网络模型进行模型转换,获得onnx模型格式的第i终端模型,然后根据第i终端模型生成终端设备的第i可执行文件,然后将第i可执行文件下发至终端设备,使得终端设备可以基于第i可执行文件,通过验证集对第i神经网络模型进行测试。
49.服务器对神经网络模型进行第i神经网络模型后,可以模型转换工具对服务器输出的第i神经网络模型进行模型转换,输出onnx模型格式的第i终端模型。onnx模型格式是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。通过onnx模型格式可以使不同的人工智能框架(比如tensorflow、pytorch、paddle等)采用相同格式存储模型数据并交互。
50.将第i神经网络模型转换为onnx模型格式的第i终端模型后,服务器可以对第i终端模型进行转换,生成适用于终端设备的模型代码和参数文件,然后通过脚本将模型代码和参数文件替换相关sdk中的对应文件,编译出适用于终端设备的第i可执行文件。获得第i可执行文件后,服务器将第i可执行文件下载至终端设备上,等待终端设备运行。
51.服务器与终端设备可通过ssh(secure shell)网络协议进行安全通信,服务器将终端设备的第i可执行文件下发给终端设备,并控制终端设备基于第i可执行文件执行测试流程。终端设备对第i神经网络模型进行测试时,可以输出神经网络模型的准确率和整体性能指令。整体性能指标包括神经网络模型计算占用主频和内存等信息,可以供开发人员参考。
52.可以将服务器对神经网络模型进行测试获得准确率与终端设备对神经网络模型进行测试获得的准确率进行对比,如果连续几个epoch服务器获得准确率和终端设备获得的准确率之差大于预设的准确率偏差阈值,则停止对神经网络模型进行训练,进入分析阶段对神经网络模型进行分析,尽早发现神经网络模型存在的设计缺陷,提高神经网络模型的训练效率。
53.在本技术实施例中,在获得第i神经网络模型后,将第i神经网络模型转换为onnx模型格式的第i终端模型,然后将第i终端模型转换为终端设备的第i可执行文件,使得终端设备可以对第i可执行文件进行运行,以对第i神经网络模型进行测试。由于onnx模型格式可实现不同人工智能框架之间的互操作性并简化从研究到生产的路径,将第i神经网络模型转换为onnx模型格式的第i终端模型后,再基于第i终端模型生成适用于终端设备的第i可执行文件,使得终端设备可以基于第i可执行文件进行模型测试,提高了该模型测试方法的适用性。
54.图3是本技术一个实施例的模型测试过程的示意图。如图3所示,服务器对神经网络模型进行第i轮训练的耗时为t1,在服务器上对第i神经网络模型进行测试的耗时为t2,对第i神经网络模型进行模型转换的耗时为t3、根据第i终端模型生成第i可执行文件的耗时为t4,将第i可执行文件下发至终端设备的耗时为t5,终端设备对第i-1神经网络模型进
行测试的耗时为t6。其中,在该实施例中i≥2。
55.如图3所示,服务器对第i神经网络模型进行模型转换的耗时t3、服务器根据第i终端模型生成终端设备的第i可执行文件的耗时t4、及服务器将第i可执行文件下发至终端设备的耗时t5之和,小于或等于在服务器上通过测试集对第i神经网络模型进行测试的耗时t2。
56.服务器在获得第i神经网络模型后,通过并行的线程进行模型测试和模型部署。服务器进行模型部署时,首先耗时t3将第i神经网络模型转换为第i终端模型,然后耗时t4基于第i终端模型生成第i可执行文件,然后耗时t5将第i可执行文件下发至终端设备。服务器对第i神经网络模型进行测试的耗时为t2。
57.在本技术实施例中,t3 t4 t5≤t2,在服务器对第i神经网络模型的测试完成时,服务器已经将第i可执行文件下发至终端设备,之后服务器开始对神经网络模型进行第i 1轮训练时,终端设备便可以同步开始对第i神经网络模型进行测试,服务器部署第i神经网络模型至终端设备的全过程,在对第i神经网络模型的测试过程中完成,无需单独花费时间将神经网络模型部署到终端设备,从而可以节省对神经网络模型进行测试所需的时间,提高对神经网络模型进行训练和测试的效率。
58.在一种可能的实现方式中,如图3所示,服务器通过训练集对神经网络模型进行第i轮训练的耗时为t1,终端设备通过验证集对第i神经网络模型进行测试的耗时为t6,t6≤t1。
59.在服务器对神经网络模型进行训练、部署和测试的过程中,训练阶段占用时间较长,比如,t1等于20min,t2等于4min,t3 t4 t5等于2min,t6等于15min。
60.在本技术实施例中,服务器对第i神经网络模型进行测试的耗时t1,大于或等于终端设备对第i-1神经网络模型进行测试的耗时t6,服务器和终端设备同步开始对神经网络模型进行测试,服务器完成对第i神经网络模型的测试时,终端设备已经完成了对第i-1神经网络模型的测试,无需单独花费时间在终端设备上对神经网络模型进行测试,从而可以节省对神经网络模型进行测试所需的时间,进而可以提高对神经网络模型进行训练和测试的效率。
61.在一种可能的实现方式中,在通过训练集对神经网络模型进行第i轮训练时,可以通过至少两个线程并行从训练集中读取训练样本,进而通过所读取的训练样本对神经网络模型进行第i轮训练。
62.在对神经网络模型进行训练时,可以采用torch框架对神经网络模型进行训练。通过torch框架的并行读取功能,可以支持64线程并行从训练集中读取训练样本,进而通过各并行线程所读取的训练样本对神经网络模型进行训练。
63.在本技术实施例中,在对神经网络模型进行训练时,每次需要读取多个训练样本输入神经网络模型进行训练,通过多线程并行的方式从训练集中读取训练样本,相对于单线程多次读取训练样本,可以节省训练神经网络模型过程中读取训练样本的时间,从而可以提高神经网络模型的训练效率。
64.在一种可能的实现方式中,在通过训练集对神经网络模型进行第i轮训练时,可以先对从训练集中读取到的训练样本进行数据增强处理,获得增强数据,然后通过增强数据对神经网络模型进行第i轮训练。
65.在神经网络模型为语音模型时,数据增强处理包括语音随机加噪、随机幅值调整、语速调整和重采样等。对预料进行重采样可以保证采样率的一致。
66.在本技术实施例中,从训练集中读取训练样本后,先对训练原本进行数据增强处理,获得增强数据,然后通过增强数据对第i神经网络模型进行训练,增加训练样本的数量以及多样性,保证所训练出的神经网络模型具有较强的鲁棒性,缩短训练神经网络模型所需的时间。
67.在一种可能的实现方式中,在训练神经网络模型的过程中,正向计算阶段、损失计算阶段和反向传输阶段,可以使用分布式数据并行(distributed data parallel,ddp)技术进行分布式训练,即可以在多个gpu上同时对输入的训练样本进行处理,并更新神经网络模型的模型参数。
68.在本技术实施例中,通过ddp技术对神经网络模型进行分布式训练,可以缩短对神经网络模型进行训练所需的时间,提高对神经网络模型进行训练的效率。
69.在一种可能的实现方式中,在对神经网络模型进行训练的过程中,可以采用半精度训练方式对神经网络模型进行训练。在训练过程汇中,使用fp16格式的数据替代fp32格式的数据,以提高神经网络模型的训练速度,并降低服务器的显存消耗。
70.在一种可能的实现方式中,在对神经网络模型进行初始化时,检测神经网络模型是否包括部署工具不支持的模型算子,如果神经网络模型包括部署工具不支持的模型算子,则发出警报信息。其中,部署工具用于将神经网络模型部署到终端设备。
71.预先定义了部署时支持的模型算子,在开始对神经网络模型进行训练时,即在对神经网络模型进行第1轮训练之前,需要对神经网络模型进行初始化。在对神经网络模型进行初始化时,可以对神经网络模型进行模型算子过滤,如果神经网络模型中包括部署工具不支持的模型算子,发出警报信息提示算法开发人员对算子进行更换。
72.在本技术实施例中,在对神经网络模型进行初始化时,对神经网络模型中的模型算子进行过滤,在神经网络模型包括部署工具不支持的模型算子时,发出警报信息提示用户对部署工具不支持的模型算子进行更换,防止模型部署时出现模型算子不支持的问题而更换模型算子重新训练,提高对神经网络模型进行训练的效率。
73.语音模型测试方法
74.基于上述系统,本技术实施例提供了一种语音模型测试方法,该语音模型测试方法可由上述系统实施例中的服务器10执行,以下对该语音模型测试方法进行详细说明。
75.图4是本技术一个实施例的语音模型测试方法的流程图。如图4所示,该语音模型测试方法包括如下步骤:
76.步骤401、通过训练集对语音模型进行第i轮训练,获得第i语音模型。
77.其中,i为大于或等于1的正整数,语音模型为神经网络模型,语音模型可以是关键词检测模型、自动语音识别模型或断句检测模型等。
78.步骤402、在服务器上通过测试集对第i语音模型进行测试。
79.步骤403、在对第i语音模型进行测试过程中,将第i语音模型载入终端设备。
80.在对第i语音模型进行测试的过程中,将第i语音模型载入终端设备,使得服务器在通过训练集对语音模型进行第i 1轮训练获得第i 1语音模型时,可以同步在终端设备上通过验证集对第i语音模型进行测试。
81.在本技术实施例中,服务器在对第i语音模型进行测试的同时,将第i语音模型载入终端设备,从而在服务器对语音模型进行第i 1轮训练时,终端设备可以对第i语音模型进行测试,服务器与终端设备以并行方式对语音模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的语音模型进行测试后,服务器再对语音模型进行下一轮训练的串行方式,可以节省至少部分终端设备对语音模型进行测试的时间,从而可以提高语音模型的训练和测试效率。
82.在一种可能的实现方式中,服务器在对语音模型进行第i轮训练时,获得非流式的第语音模型,在将第i语音模型载入终端设备时,可以对第i语音模型进行模型转换,将非流式的第i语音模型转换为onnx模型格式的第i流式模型,然后根据第i流式模型生成终端设备的第i可执行文件,然后将第i可执行文件下发至终端设备,使终端设备基于第i可执行文件,通过验证集对第i语音模型进行测试。
83.服务器在对语音模型进行训练时,输入的是整句的语音,输出的是完整解析结果,这种输入方式为非流式输入,所训练出的模型为非流式模型。而实际产品中,要求数据按照流式方式实时输入,结果也要按照流式方式实时输出。因此,在服务器对语音模型进行训练后,需要将获得的非流式模型转换为onnx模型格式的流式模型。onnx模型格式可实现不同框架之间的互操作性并简化从研究到生产的路径,不同框架(tensorflow、pytorch、paddle)训练出来的模型都可以转换成onnx模型格式进行存储,完成后续的推理。
84.在本技术实施例中,在获得第i语音模型后,将第i语音模型转换为onnx模型格式的第i流式模型,然后将第i流式模型转换为终端设备的第i可执行文件,使得终端设备可以对第i可执行文件进行运行,以对第i语音模型进行测试。由于onnx模型格式可实现不同人工智能框架之间的互操作性并简化从研究到生产的路径,将第i语音模型转换为onnx模型格式的第i流式模型后,再基于第i流式模型生成适用于终端设备的第i可执行文件,使得终端设备可以基于第i可执行文件进行模型测试,提高了该模型测试方法的适用性。
85.需要说明的是,图4所示的实施例,为本技术实施例中神经网络模型测试方法的具体应用,具体的语音模型测试方法可参见前述神经网络模型测试方法实施例中的描述,在此不再进行赘述。
86.计算机视觉模型测试方法
87.基于上述系统,本技术实施例提供了一种计算机视觉模型测试方法,该计算机视觉模型测试方法可由上述系统实施例中的服务器10执行,以下对该计算机视觉模型测试方法进行详细说明。
88.图5是本技术一个实施例的计算机视觉模型测试方法的流程图。如图4所示,该计算机视觉模型测试方法包括如下步骤:
89.步骤501、通过训练集对计算机视觉模型进行第i轮训练,获得第i计算机视觉模型。
90.其中,i为大于或等于1的正整数,计算机视觉模型为神经网络模型,计算机视觉模型可以是场景分类模型、物体识别模型、精细物体类识别模型或人脸识别模型等。
91.步骤502、在服务器上通过测试集对第i计算机视觉模型进行测试。
92.步骤503、在对第i计算机视觉模型进行测试过程中,将第i计算机视觉模型载入终端设备。
93.在对第i计算机视觉模型进行测试的过程中,将第i计算机视觉模型载入终端设备,使得服务器在通过训练集对计算机视觉模型进行第i 1轮训练获得第i 1计算机视觉模型时,可以同步在终端设备上通过验证集对第i计算机视觉模型进行测试。
94.在本技术实施例中,服务器在对第i计算机视觉模型进行测试的同时,将第i计算机视觉模型载入终端设备,从而在服务器对计算机视觉模型进行第i 1轮训练时,终端设备可以对第i计算机视觉模型进行测试,服务器与终端设备以并行方式对计算机视觉模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的计算机视觉模型进行测试后,服务器再对计算机视觉模型进行下一轮训练的串行方式,可以节省至少部分终端设备对计算机视觉模型进行测试的时间,从而可以提高计算机视觉模型的训练和测试效率。
95.需要说明的是,图5所示的实施例,为本技术实施例中神经网络模型测试方法的具体应用,具体的计算机视觉模型测试方法可参见前述神经网络模型测试方法实施例中的描述,在此不再进行赘述。
96.神经网络模型测试装置
97.对应于上述方法实施例,图6示出了一种神经网络模型测试装置的示意图。如图6所示,该神经网络模型测试装置60包括:
98.训练单元601,用于通过训练集对神经网络模型进行第i轮训练,获得第i神经网络模型,其中,i为大于或等于1的正整数;
99.测试单元602,用于在服务器上通过测试集对第i神经网络模型进行测试;
100.载入单元603,用于在对第i神经网络模型进行测试过程中,将第i神经网络模型载入终端设备,以在通过训练集对神经网络模型进行第i 1轮训练获得第i 1神经网络模型时,同步在终端设备上通过验证集对第i神经网络模型进行测试。
101.在本技术实施例中,测试单元602在对第i神经网络模型进行测试的同时,载入单元603将第i神经网络模型载入终端设备,从而在训练单元601对神经网络模型进行第i 1轮训练时,终端设备可以对第i神经网络模型进行测试,服务器与终端设备以并行方式对神经网络模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的神经网络模型进行测试后,服务器再对神经网络模型进行下一轮训练的串行方式,可以节省至少部分终端设备对神经网络模型进行测试的时间,从而可以提高神经网络模型的训练和测试效率。
102.需要说明的是,本实施例的神经网络模型测试装置用于实现前述方法实施例中相应的神经网络模型测试方法,并具有相应的方法实施例的有益效果,在此不再赘述。
103.电子设备
104.图7是本技术实施例提供的一种电子设备的示意性框图,本技术具体实施例并不对电子设备的具体实现做限定。如图7所示,该电子设备可以包括:处理单元(processor)702、通信接口(communications interface)704、存储器(memory)706、以及通信总线708。其中:
105.处理单元702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
106.通信接口704,用于与其它电子设备或服务器进行通信。
107.处理单元702,用于执行程序710,具体可以执行前述任一神经网络模型测试方法实施例、语音模型测试方法实施例或计算机视觉模型测试方法实施例中的相关步骤。
108.具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
109.处理单元702可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。电子设备包括的一个或多个处理单元,可以是同一类型的处理单元,如一个或多个cpu;也可以是不同类型的处理单元,如一个或多个cpu以及一个或多个asic。
110.risc-v是一种基于精简指令集(risc)原则的开源指令集架构,其可以应用于单片机和fpga芯片等各个方面,具体可应用在物联网安全、工业控制、手机、个人计算机等领域,且由于其在设计时考虑了小型、快速、低功耗的现实情况,使得其尤其适用于仓库规模云计算机、高端移动电话和微小嵌入式系统等现代计算设备。随着人工智能物联网aiot的兴起,risc-v指令集架构也受到越来越多的关注和支持,并有望成为下一代广泛应用的cpu架构。
111.本技术实施例中的计算机操作指令可以是基于risc-v指令集架构的计算机操作指令,对应地,处理单元702可以基于risc-v的指令集设计。具体地,本技术实施例提供的电子设备中的处理单元的芯片可以为采用risc-v指令集设计的芯片,该芯片可基于所配置的指令执行可执行代码,进而实现上述实施例中的神经网络模型测试方法、语音模型测试方法或计算机视觉模型测试方法。
112.存储器706,用于存放程序710。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
113.程序710具体可以用于使得处理单元702执行前述任一实施例中的神经网络模型测试方法、语音模型测试方法或计算机视觉模型测试方法。
114.程序710中各步骤的具体实现可以参见前述任一神经网络模型测试方法实施例、语音模型测试方法实施例或计算机视觉模型测试方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
115.通过本技术实施例的电子设备,服务器在对第i神经网络模型进行测试的同时,将第i神经网络模型载入终端设备,从而在服务器对神经网络模型进行第i 1轮训练时,终端设备可以对第i神经网络模型进行测试,服务器与终端设备以并行方式对神经网络模型进行训练、部署和测试,相对于服务器和终端设备依次对训练出的神经网络模型进行测试后,服务器再对神经网络模型进行下一轮训练的串行方式,可以节省至少部分终端设备对神经网络模型进行测试的时间,从而可以提高神经网络模型的训练和测试效率。
116.计算机存储介质
117.本技术还提供了一种计算机可读存储介质,存储用于使一机器执行如本文所述的神经网络模型测试方法、语音模型测试方法或计算机视觉模型测试方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
118.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本技术的一部分。
119.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,
可以由通信网络从服务器计算机上下载程序代码。
120.计算机程序产品
121.本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一对应的操作。
122.需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
123.上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
124.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
125.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献