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

DL模型精度测试方法、装置、设备、服务器及存储介质与流程

2023-07-23 21:05:07 来源:中国专利 TAG:

dl模型精度测试方法、装置、设备、服务器及存储介质
技术领域
1.本发明涉及深度学习领域,特别是涉及一种dl模型精度测试方法,本发明还涉及一种dl模型精度测试装置、设备、服务器及计算机可读存储介质。


背景技术:

2.dl(deep learning,深度学习)算法在应用时,通常会将dl模型输入到dl编译器进行编译,然后将编译后的内容输送至后端硬件中进行dl算法的执行,后端硬件通常会选择cpu(central processing unit,中央处理器)或者gpu(graphics processing unit,图形处理器)等,目前新出现了将ai(artificial intelligence,人工智能)芯片用作后端硬件的做法,以便利用到ai芯片中高效的ai算法,但是需要开发代码将dl编译器的原始ir(intermediate representation,中间表示)转换为ai芯片可识别的ir,以便ai芯片执行dl算法,但是不同工作人员设计出的用于转换ir的开发代码不同,不同开发代码的可靠性也就存在差异,若无法确保开发代码的可靠性,那么便会严重影响dl算法的精度。
3.因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。


技术实现要素:

4.本发明的目的是提供一种dl模型精度测试方法,通过cpu执行的预期结果与ai芯片执行的观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度;本发明的另一目的是提供一种dl模型精度测试装置、设备、服务器及计算机可读存储介质,通过cpu执行的预期结果与ai芯片执行的观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
5.为解决上述技术问题,本发明提供了一种dl模型精度测试方法,包括:
6.将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;
7.利用待测开发代码将所述dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
8.将所述可执行文件在所述ai芯片中的执行结果作为观测结果;
9.根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性。
10.优选地,该dl模型精度测试方法还包括:
11.预先通过所述dl编译器将目标dl模型转换为目标格式的所述原始的ir;
12.所述将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果具体为:
13.控制所述dl编译器根据所述目标格式的原始ir对所述目标dl模型进行编译;
14.将指定类型的标准硬件对编译后的所述目标dl模型的执行结果作为预期结果;
15.所述利用待测开发代码将所述dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件具体为:
16.利用待测开发代码将所述dl编译器的所述目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件。
17.优选地,所述预先通过所述dl编译器将目标dl模型转换为目标格式的所述原始的ir具体为:
18.预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型;
19.通过所述dl编译器将所述目标dl模型转换为目标格式的所述原始的ir。
20.优选地,所述dl模型库中包括dl模型以及预先构建的dl模型原始ir;
21.所述预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型具体为:
22.预先从dl模型库中挑选指定类型框架的dl模型;
23.判断所述指定类型框架的dl模型在所述dl模型库中是否已存在所述预先构建的dl模型原始ir;
24.若存在,则执行所述利用待测开发代码将所述dl编译器的所述目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件的步骤;
25.若不存在,通过所述dl编译器将所述目标dl模型转换为目标格式的所述原始的ir。
26.优选地,所述利用待测开发代码将所述dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件具体为:
27.从开发代码库中与所述目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码;
28.利用所述待测开发代码将所述dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
29.所述根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性之后,该dl模型精度测试方法还包括:
30.判断所述开发代码库中是否存在与所述目标dl模型的框架类型对应的未经测试的开发代码;
31.若存在,则执行所述从开发代码库中与所述目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码的步骤。
32.优选地,所述根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性之后,该dl模型精度测试方法还包括:
33.控制提示器提示所述待测开发代码的可靠性评估结果。
34.优选地,所述判断所述开发代码库中是否存在与所述目标dl模型的框架类型对应的未经测试的开发代码之后,该dl模型精度测试方法还包括:
35.若不存在,生成与所述目标dl模型的框架类型对应且经过测试的所有所述开发代码的所述可靠性评估结果的横向对比信息;
36.控制所述提示器提示所述dl编译器对应的各个所述开发代码的所述横向对比信息。
37.优选地,所述判断所述开发代码库中是否存在与所述目标dl模型的框架类型对应
的未经测试的开发代码之后,该dl模型精度测试方法还包括:
38.若不存在,则判断所述dl模型库中所有的dl模型是否均已完成测试;
39.若未均完成,则执行所述预先从dl模型库中挑选指定类型框架的dl模型的步骤。
40.优选地,该dl模型精度测试方法还包括:
41.响应于开发代码修改指令,对所述开发代码库中指定的所述开发代码进行修改;
42.响应于开发代码添加指令,将指定的所述开发代码添加至所述开发代码库。
43.优选地,所述dl编译器为端到端的深度学习编译器tvm,所述目标格式为js对象简谱json。
44.优选地,所述根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性具体为:
45.基于卡方测试法,根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性。
46.为解决上述技术问题,本发明还提供了一种dl模型精度测试装置,包括:
47.第一获取模块,用于将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;
48.控制模块,用于利用待测开发代码将所述dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
49.第二获取模块,用于将所述可执行文件在所述ai芯片中的执行结果作为观测结果;
50.评估模块,用于根据所述预期结果以及所述观测结果评估所述待测开发代码的可靠性。
51.为解决上述技术问题,本发明还提供了一种dl模型精度测试设备,包括:
52.存储器,用于存储计算机程序;
53.处理器,用于执行所述计算机程序时实现如上所述dl模型精度测试方法的步骤。
54.为解决上述技术问题,本发明还提供了一种服务器,包括服务器本体以及与所述服务器本体连接的如上所述的dl模型精度测试设备。
55.为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述dl模型精度测试方法的步骤。
56.本发明提供了一种dl模型精度测试方法,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
57.本发明还提供了一种dl模型精度测试装置、设备、服务器及计算机可读存储介质,具有如上dl模型精度测试方法相同的有益效果。
附图说明
58.为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1为本发明提供的一种dl模型精度测试方法的流程示意图;
60.图2为本发明提供的另一种dl模型精度测试方法的流程示意图;
61.图3为本发明提供的一种dl模型精度测试装置的结构示意图;
62.图4为本发明提供的一种dl模型精度测试设备的结构示意图;
63.图5为本发明提供的一种计算机可读存储介质的结构示意图。
具体实施方式
64.本发明的核心是提供一种dl模型精度测试方法,通过cpu执行的预期结果与ai芯片执行的观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度;本发明的另一核心是提供一种dl模型精度测试装置、设备、服务器及计算机可读存储介质,通过cpu执行的预期结果与ai芯片执行的观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
65.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
66.请参考图1,图1为本发明提供的一种dl模型精度测试方法的流程示意图,该dl模型精度测试方法包括:
67.s101:将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;
68.具体的,考虑到如上背景技术中的技术问题,又结合考虑到目前存在的标准硬件(例如cpu或gpu)对于dl模型的精确执行结果可作为标准进行参考,并且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术欲将“经由待测开发代码进行ir转换后在ai芯片中得到的执行结果”与“标准硬件对dl模型的执行结果”进行对比,以便评估待测开发代码的可靠性,而由于dl模型的执行通常需要先经dl编译器进行编译,然后在后端硬件进行执行,因此本步骤中率先将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果,以便作为后续步骤的数据基础。
69.为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的另一种dl模型精度测试方法的流程示意图,在图2中,在欲通过cpu执行dl模型时,可以设置dl编译器的目标为目标标识2对应的目标,并导入目标dl模型对应的json文件,编译器便可以便可以将dl模型部署到cpu上运行并得到结果1(也即预期结果),在欲通过ai芯片执行dl模型时,可以设置dl编译器的目标为目标标识1对应的目标,并导入目标dl模型对应的json文件,然后调用对接ai芯片的与目标dl模型对应的待测开发代码,将dl编译器的原始ir转换为ai芯
片可识别的ir,并得到可执行文件,可执行文件在ai芯片上执行的结果2便为观测结果。
70.其中,目标标识1以及目标标识2均可以进行自主设定,例如目标标识1可以设置为aipu,目标标识2可以设置为llvm等,本发明实施例在此不做限定。
71.具体的,json格式的文件可以包括两部分,分别为目标dl模型的模型部分和参数部分,模型部分可以保存为mod.json,参数部分可以保存为param.json。
72.其中,执行类型的标准硬件可以为多种类型,除了cpu或gpu外,还可以为多种类型,例如可以为arm处理以及张量处理器等,本发明实施例在此不做限定。
73.s102:利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
74.具体的,为了使得经过dl编译器编译的dl模型在ai芯片上顺利执行,需要开发代码以实现dl编译器原始的ir(也即relay ir)到ai芯片可识别的ir的算子转换,而本发明实施例的目的即为检测该开发代码的可靠性,因此本步骤中可以利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,并将其作为后续步骤的数据基础。
75.s103:将可执行文件在ai芯片中的执行结果作为观测结果;
76.具体的,在得到可执行文件后,便可以将可执行文件在ai芯片中运行,也即在ai芯片中执行目标dl模型的运算,并将得到的执行结果作为观测结果,以便作为后续步骤的数据基础。
77.s104:根据预期结果以及观测结果评估待测开发代码的可靠性。
78.具体的,在有了预期结果与观测结果后,由于观测结果在理想状况下应与预期结果一致,在此关系的基础上便可以根据预期结果以及观测结果评估待测开发代码的可靠性,以便指导开发代码的设计,有利于提升ai芯片执行dl模型的精度。
79.本发明提供了一种dl模型精度测试方法,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
80.在上述实施例的基础上:
81.作为一种优选的实施例,该dl模型精度测试方法还包括:
82.预先通过dl编译器将目标dl模型转换为目标格式的原始的ir;
83.将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果具体为:
84.控制dl编译器根据目标格式的原始ir对目标dl模型进行编译;
85.将指定类型的标准硬件对编译后的目标dl模型的执行结果作为预期结果;
86.利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件具体为:
87.利用待测开发代码将dl编译器的目标格式的原始ir转换为人工智能ai芯片可识
别的ir,并得到可执行文件。
88.具体的,考虑到不同的dl模型在被导入dl编译器时所采用的文件格式各不相同,这就导致了某些dl模型在被导入dl编译器时需要耗费的时间非常长,降低了工作效率,而对于特定的某一种dl编译器来说,其对于特定的某一种文件格式的dl模型的导入速度较快,因此为了提升导入效率,本发明实施例中可以预先通过dl编译器将目标dl模型转换为目标格式的原始的ir,如此一来,dl编译器在对dl模型进行编译时,便可以导入目标格式的原始ir并基于目标格式的原始ir进行编译,提升了工作效率。
89.其中,dl编译器可以为多种类型,针对不同的dl编译器,对应的目标格式也有所不同,本发明实施例在此不做限定。
90.作为一种优选的实施例,预先通过dl编译器将目标dl模型转换为目标格式的原始的ir具体为:
91.预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型;
92.通过dl编译器将目标dl模型转换为目标格式的原始的ir。
93.具体的,为了高效的对多种框架类型的dl模型的开发代码进行测试,本发明实施例中可以预先设计dl模型库,然后从dl模型库中挑选指定类型框架的dl模型作为目标dl模型,然后再通过dl编译器将目标dl模型转换为目标格式的原始的ir,可以实现对dl模型库中包含的多种框架类型的dl模型的开发代码的验证,提升了工作效率。
94.作为一种优选的实施例,dl模型库中包括dl模型以及预先构建的dl模型原始ir;
95.预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型具体为:
96.预先从dl模型库中挑选指定类型框架的dl模型;
97.判断指定类型框架的dl模型在dl模型库中是否已存在预先构建的dl模型原始ir;
98.若存在,则执行利用待测开发代码将dl编译器的目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件的步骤;
99.若不存在,通过dl编译器将目标dl模型转换为目标格式的原始的ir。
100.具体的,考虑到除了某些现有的完整的dl模型需要进行检测外,对于某些不常见的dl模型也需要设计开发代码并对开发代码进行检测,而开发代码本身的作用就是将dl模型原始的ir转换为ai芯片可识别的ir,因此对于不常见的dl模型,本发明实施例中并没有构建完整的dl模型,而是预先构建了完整dl模型中的一部分:“dl模型原始ir”,不但实现了对于“不常见dl模型”的开发代码的测试,而且直接减少了工作量。
101.具体的,在确定目标dl模型的时候,dl模型库中完整的dl模型以及预先构建的dl模型原始ir对应的dl模型均可以被选做目标dl模型,因此本发明实施例中可以在预先从dl模型库中挑选指定类型框架的dl模型后,判断指定类型框架的dl模型在dl模型库中是否已存在预先构建的dl模型原始ir,如果不存在,可以通过dl编译器将目标dl模型转换为目标格式的原始的ir,如果存在则可以直接利用待测开发代码将dl编译器的目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件。
102.其中,dl模型可以为多种,例如可以为tensorflow、pytorch、onnx、paddlepaddle、caffe、shufflenet以及faster rcnn等,本发明实施例在此不做限定。
103.作为一种优选的实施例,利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件具体为:
104.从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码;
105.利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
106.根据预期结果以及观测结果评估待测开发代码的可靠性之后,该dl模型精度测试方法还包括:
107.判断开发代码库中是否存在与目标dl模型的框架类型对应的未经测试的开发代码;
108.若存在,则执行从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码的步骤。
109.具体的,考虑到对于同一种框架类型的dl模型可能同时存在多种类型的开发代码,因此需要对同一框架类型对应的多种不同开发代码分别进行测试,因此为了提高工作效率,本发明实施例中可以从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码,然后利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,最后在得到待测开发代码的可靠性之后,还可以判断开发代码库中是否存在与目标dl模型的框架类型对应的未经测试的开发代码,如果存在,则可以继续从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码,从而自动化地实现对于同一框架类型对应的多种不同开发代码的测试过程,提升了自动化程度以及工作效率。
110.作为一种优选的实施例,根据预期结果以及观测结果评估待测开发代码的可靠性之后,该dl模型精度测试方法还包括:
111.控制提示器提示待测开发代码的可靠性评估结果。
112.具体的,为了便于工作人员及时获知待测开发代码的可靠性评估结果,本发明实施例可以控制提示器提示待测开发代码的可靠性评估结果。
113.其中,提示器可以为多种类型,例如可以为显示器等,本发明实施例在此不做限定。
114.作为一种优选的实施例,判断开发代码库中是否存在与目标dl模型的框架类型对应的未经测试的开发代码之后,该dl模型精度测试方法还包括:
115.若不存在,生成与目标dl模型的框架类型对应且经过测试的所有开发代码的可靠性评估结果的横向对比信息;
116.控制提示器提示dl编译器对应的各个开发代码的横向对比信息。
117.具体的,考虑到工作人员可能需要对同一框架类型的dl模型对应的多个开发代码的可靠性评估结果进行横向对比,因此为了提升工作效率以及用户体验,本发明实施例中可以在开发代码库中不存在与目标dl模型的框架类型对应的未经测试的开发代码之后,生成与目标dl模型的框架类型对应且经过测试的所有开发代码的可靠性评估结果的横向对比信息,并控制提示器提示dl编译器对应的各个开发代码的横向对比信息。
118.其中,横向对比信息可以包括多种内容,例如可以包括各个待测开发代码的可靠性排序等,本发明实施例在此不做限定。
119.作为一种优选的实施例,判断开发代码库中是否存在与目标dl模型的框架类型对
应的未经测试的开发代码之后,该dl模型精度测试方法还包括:
120.若不存在,则判断dl模型库中所有的dl模型是否均已完成测试;
121.若未均完成,则执行预先从dl模型库中挑选指定类型框架的dl模型的步骤。
122.具体的,为了实现自动化的对dl模型库中包含的多个dl模型对应的开发代码的可靠性测试,本发明实施例中可以在判定开发代码库中不存在与目标dl模型的框架类型对应的未经测试的开发代码时,判断dl模型库中所有的dl模型是否均已完成测试,如果未均完成,则可以执行预先从dl模型库中挑选指定类型框架的dl模型的步骤,进一步提升了自动化程度以及工作效率。
123.作为一种优选的实施例,该dl模型精度测试方法还包括:
124.响应于开发代码修改指令,对开发代码库中指定的开发代码进行修改;
125.响应于开发代码添加指令,将指定的开发代码添加至开发代码库。
126.具体了,考虑到工作人员存在对开发代码库中存在的开发代码进行修改或者向开发代码库中添加新的开发代码的需求,因此本发明实施例中提供了这两种接口,可以响应于开发代码修改指令,对开发代码库中指定的开发代码进行修改,还可以响应于开发代码添加指令,将指定的开发代码添加至开发代码库。
127.作为一种优选的实施例,dl编译器为端到端的深度学习编译器tvm,目标格式为js对象简谱json。
128.具体的,tvm是一种成熟且高效的dl编译器,其对于json格式文件的导入速度较快,因此选用json作为目标格式。
129.当然,除了该具体情况外,dl编译器及其对应的目标格式还可以为其他类型,本发明实施例在此不做限定。
130.作为一种优选的实施例,根据预期结果以及观测结果评估待测开发代码的可靠性具体为:
131.基于卡方测试法,根据预期结果以及观测结果评估待测开发代码的可靠性。
132.具体的,考虑到预期结果以及观测结果符合卡方检测的标准,因此本发明实施例中可以使用开发检测法,根据预期结果以及观测结果评估待测开发代码的可靠性,具体可以为:
[0133][0134]
其中,x2为卡方检测的检测数值,f0为观测结果,fe为预期结果。
[0135]
其中,当卡方检测的检测数值不大于预设阈值,该误差来源于有效数字,此时可以确认待测开发代码的算子实现无误,若检测数值大于预设阈值,则需模型阶段确认问题算子进而更正。
[0136]
具体的,预设阈值可以进行自主设定,例如可以为e-5
等,本发明实施例在此不做限定。
[0137]
为了更好地对本发明实施例进行说明,请参考下表1,表1为shufflenet模型精度测试结果表。
[0138]
表1
[0139][0140]
请参考图3,图3为本发明提供的一种dl模型精度测试装置的结构示意图,该dl模型精度测试装置包括:
[0141]
第一获取模块31,用于将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;
[0142]
控制模块32,用于利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
[0143]
第二获取模块33,用于将可执行文件在ai芯片中的执行结果作为观测结果;
[0144]
评估模块34,用于根据预期结果以及观测结果评估待测开发代码的可靠性。
[0145]
本发明提供了一种dl模型精度测试装置,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
[0146]
对于本发明实施例提供的dl模型精度测试装置的介绍请参照前述的dl模型精度测试方法的实施例,本发明实施例在此不再赘述。
[0147]
请参考图4,图4为本发明提供的一种dl模型精度测试设备的结构示意图,该dl模型精度测试设备包括:
[0148]
存储器41,用于存储计算机程序;
[0149]
处理器42,用于执行计算机程序时实现如前述实施例中dl模型精度测试方法的步骤。
[0150]
具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器执行存储器中保存的计算机程序时,可以实现以下步骤:将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;将可执行文件在ai芯片中的执行结果作为观测结果;根据预期结果以及观测结果评估待测开发代码的可靠性。
[0151]
本发明提供了一种dl模型精度测试设备,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结
果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
[0152]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:预先通过dl编译器将目标dl模型转换为目标格式的原始的ir;
[0153]
将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果具体为:
[0154]
控制dl编译器根据目标格式的原始ir对目标dl模型进行编译;
[0155]
将指定类型的标准硬件对编译后的目标dl模型的执行结果作为预期结果;
[0156]
利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件具体为:
[0157]
利用待测开发代码将dl编译器的目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件。
[0158]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型;
[0159]
通过dl编译器将目标dl模型转换为目标格式的原始的ir。
[0160]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:dl模型库中包括dl模型以及预先构建的dl模型原始ir;
[0161]
预先从dl模型库中挑选指定类型框架的dl模型作为目标dl模型具体为:
[0162]
预先从dl模型库中挑选指定类型框架的dl模型;
[0163]
判断指定类型框架的dl模型在dl模型库中是否已存在预先构建的dl模型原始ir;
[0164]
若存在,则执行利用待测开发代码将dl编译器的目标格式的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件的步骤;
[0165]
若不存在,通过dl编译器将目标dl模型转换为目标格式的原始的ir。
[0166]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码;
[0167]
利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;
[0168]
根据预期结果以及观测结果评估待测开发代码的可靠性之后,该dl模型精度测试方法还包括:
[0169]
判断开发代码库中是否存在与目标dl模型的框架类型对应的未经测试的开发代码;
[0170]
若存在,则执行从开发代码库中与目标dl模型的框架类型对应的多个备选开发代码中,选择一个作为待测开发代码的步骤。
[0171]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:控制提示器提示待测开发代码的可靠性评估结果。
[0172]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现
以下步骤:若不存在,生成与目标dl模型的框架类型对应且经过测试的所有开发代码的可靠性评估结果的横向对比信息;
[0173]
控制提示器提示dl编译器对应的各个开发代码的横向对比信息。
[0174]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:若不存在,则判断dl模型库中所有的dl模型是否均已完成测试;
[0175]
若未均完成,则执行预先从dl模型库中挑选指定类型框架的dl模型的步骤。
[0176]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:响应于开发代码修改指令,对开发代码库中指定的开发代码进行修改;
[0177]
响应于开发代码添加指令,将指定的开发代码添加至开发代码库。
[0178]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:dl编译器为端到端的深度学习编译器tvm,目标格式为js对象简谱json。
[0179]
作为一种可选的实施例,处理器执行存储器中保存的计算机子程序时,可以实现以下步骤:基于卡方测试法,根据预期结果以及观测结果评估待测开发代码的可靠性。
[0180]
对于本发明实施例提供的dl模型精度测试设备的介绍请参照前述的dl模型精度测试方法的实施例,本发明实施例在此不再赘述。
[0181]
本发明还提供了一种服务器,包括服务器本体以及与服务器本体连接的如上的dl模型精度测试设备。
[0182]
本发明提供了一种服务器,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
[0183]
对于本发明实施例提供的服务器的介绍请参照前述的dl模型精度测试方法的实施例,本发明实施例在此不再赘述。
[0184]
请参考图5,图5为本发明提供的一种计算机可读存储介质的结构示意图,该计算机可读存储介质50上存储有计算机程序51,计算机程序51被处理器41执行时实现如前述实施例中dl模型精度测试方法的步骤。
[0185]
具体的,该可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:将经深度学习dl编译器编译后的目标dl模型,在指定类型的标准硬件中的执行结果作为预期结果;利用待测开发代码将dl编译器原始的中间表示ir转换为人工智能ai芯片可识别的ir,并得到可执行文件;将可执行文件在ai芯片中的执行结果作为观测结果;根据预期结果以及观测结果评估待测开发代码的可靠性。
[0186]
本发明提供了一种计算机可读存储介质,考虑到目前存在的标准硬件对于dl模型的精确执行结果可作为标准进行参考,而且进行ir转换的开发代码的可靠性可以由dl模型的执行结果体现,因此本技术可以首先得到目标dl模型在指定类型的标准硬件中的执行结
果并将其作为预期结果,然后利用待测开发代码将dl编译器的原始ir转换为人工智能ai芯片可识别的ir,并得到可执行文件,接着将可执行文件在ai芯片中的执行结果作为观测结果,通过预期结果与观测结果便可对待测开发代码的可靠性进行评估,从而指导设计出可靠的开发代码,有利于提升dl模型也即dl算法的精度。
[0187]
对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的dl模型精度测试方法的实施例,本发明实施例在此不再赘述。
[0188]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0189]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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