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

模型库构建方法、基于模型库的模型调用方法和相关设备与流程

2023-08-30 12:11:30 来源:中国专利 TAG:


1.本发明涉及人工智能的技术领域,尤其是涉及一种模型库构建方法、基于模型库的模型调用方法和相关设备。


背景技术:

2.随着计算机技术的发展,深度学习算法所构建的模型越来越多,也越来越多的场景通过深度学习的模型完成数据处理、数据预测等。例如,常见的应用场景为图像识别、文本分类、语音识别等。但是随着应用场景的增多,模型数量也相应增多,每次使用模型的时候,都需要使用python编程语言与深度学习框架构建,模型构建过程复杂且漫长。尽管已经开发的模型,也需要重新在多个文件中查找,使得模型提取操作复杂,使用时间长。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种模型库构建方法,能够构建一种通过模型名称即可快速调用的模型库,使得模型提取操作简易且快速。
4.本发明还提出一种基于模型库的模型调用方法。
5.本发明还提出一种模型库构建系统。
6.本发明还提出一种电子设备。
7.本发明还提出一种计算机可读存储介质。
8.第一方面,本发明的一个实施例提供了模型库构建方法,所述模型库构建方法包括:
9.获取原始模型数据;其中,所述原始模型数据包括:原始模型应用场景信息、原始模型参数、原始模型网络结构信息、原始模型名称信息;
10.根据所述原始模型名称信息和所述原始模型网络结构信息进行代码定义,得到模型代码文件;
11.根据所述原始模型应用场景信息和所述原始模型参数从预设的候选场景接口中筛选出选定场景接口;
12.将所述选定场景接口和所述模型代码文件进行相关联处理,得到模型关联信息;
13.将所述模型关联信息、所述模型代码文件和所述选定场景接口存入预设的数据库中,得到模型库。
14.根据本发明的另一些实施例的模型库构建方法,所述根据所述原始模型应用场景信息和所述模型参数从预设的候选场景接口中筛选出选定场景接口,包括:
15.根据所述原始模型应用场景信息从所述候选场景接口中筛选出初步场景接口;
16.根据所述模型参数设置所述初步场景接口的接口参数,得到所述选定场景接口。
17.根据本发明的另一些实施例的模型库构建方法,在所述将所述模型关联信息、所述模型代码文件和所述选定场景接口存入预设的数据库中,得到模型库之后,所述模型库
构建方法还包括:
18.获取新增模型数据;其中,所述新增模型数据包括:新增模型名称信息和模型导入语句;
19.根据所述新增模型名称信息在所述原始模型应用场景信息中筛选出选定模型应用场景信息;
20.根据所述选定模型应用场景信息在所述模型库中查找出选定代码文件;
21.在所述选定代码文件中添加所述模型导入语句,得到新增代码文件;
22.将所述新增代码文件存入所述模型库,以更新所述模型库。
23.根据本发明的另一些实施例的模型库构建方法,所述根据所述选定模型应用场景信息在所述模型库中查找出选定代码文件,包括:
24.根据所述选定模型应用场景信息从所述候选场景接口中筛选出选中场景接口;
25.根据所述选中场景接口在所述模型库中调取出对应的模型代码文件作为所述选定代码文件。
26.第二方面,本发明的一个实施例提供了基于模型库的模型调用方法,包括:
27.获取调用模型名称信息;
28.根据所述调用模型名称信息在预设的模型库中提取出目标模型;其中,所述模型库通过如第一方面所述的模型库构建方法得到。
29.根据本发明的另一些实施例的基于模型库的模型调用方法,所述模型库包括:模型关联信息、选定模型接口和模型代码文件;所述根据所述调用模型名称信息在预设的模型库中提取出目标模型,包括:
30.根据所述调用模型名称信息从预设的模型应用场景信息映射表中查找出调用模型应用场景信息;
31.根据所述调用模型应用场景信息在所述模型关联信息查找出目标场景接口;
32.根据所述目标场景接口、所述选定模型接口在所述模型代码文件中筛选出目标代码文件,运行所述目标代码文件以运行所述目标模型。
33.根据本发明的另一些实施例的基于模型库的模型调用方法,在所述根据所述目标场景接口、所述模型选定接口在所述模型代码文件中筛选出所述目标代码文件,运行所述目标代码文件以运行所述目标模型之后,所述基于模型库的模型调用方法还包括:
34.获取模型训练数据;
35.根据所述模型训练数据对所述目标模型进行训练;
36.获取待预测数据;
37.将所述待预测数据输入至训练后的所述目标模型进行模型推理,得到目标数据。
38.第三方面,本发明的一个实施例提供了模型库构建系统,所述模型库构建系统包括:
39.数据获取模块,用于获取原始模型数据;其中,所述原始模型数据包括:原始模型应用场景信息、模型参数、原始模型网络结构信息、原始模型名称信息;
40.代码定义模块,用于根据所述原始模型名称信息和所述原始模型网络结构信息进行代码定义,得到模型代码文件;
41.接口筛选模块,用于根据所述原始模型应用场景信息和所述模型参数从预设的候
选场景接口中筛选出选定场景接口;
42.关联模块,用于将所述选定场景接口和所述模型代码文件进行相关联处理,得到模型关联信息;
43.存储模块,用于将所述模型关联信息、所述模型代码文件和所述选定场景接口存入预设的数据库中,得到模型库。
44.第四方面,本发明的一个实施例提供了电子设备,包括:
45.至少一个处理器,以及,
46.与所述至少一个处理器通信连接的存储器;其中,
47.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的模型库构建方法,或者执行如第二方面所述的基于模型库的模型调用方法。
48.第五方面,本发明的一个实施例提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的模型库构建方法,或者执行如第二方面所述的基于模型库的模型调用方法。
49.本发明实施例的模型库构建方法、基于模型库的模型调用方法和相关设备,使用深度学习统一开发接口tensorlayerx编写模型,可以在不同的软硬件环境中进行开发与运行,可以通过匹配最佳环境以发挥出高效训练极致性能。同时,制定了模型的标准输入输出格式与训练/推理的场景接口,以通过场景接口连接模型库中的模型,所以用户端可以通过场景接口从模型库中快速选择模型进行训练/推理。除此之外,当用户端需要实现自定义模型,只需要输入新增模型名称信息和导入语句即可完成自定义模型,以更新模型库,使得模型库更新更加简易。
50.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
51.图1是本发明实施例中模型库构建方法的一具体实施例流程示意图;
52.图2是图1中步骤s103的一具体实施例流程示意图;
53.图3是本发明实施例中模型库构建方法的一具体实施例中的模型调用关系图;
54.图4是本发明另一实施例中模型库构建方法的一具体实施例流程示意图;
55.图5是图4中步骤403的一具体实施例流程示意图;
56.图6是本发明实施例中基于模型库的模型调用方法的一具体实施例流程示意图;
57.图7是图1中步骤s106的一具体实施例流程示意图;
58.图8是本发明另一实施例中基于模型库的模型调用方法的一具体实施例流程示意图;
59.图9是本发明实施例中模型库构建系统的一具体实施例模块框图;
60.图10是本发明实施例中基于模型库的模型调用系统的一具体实施例模块框图
61.图11本发明实施例中电子设备的一具体实施例模块框图。
具体实施方式
62.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
63.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
64.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
65.首先,对本技术中涉及的若干名词进行解析:
66.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
67.模型库:是指存储和管理预训练模型的集合,通常包含了各种类型的深度学习模型,如图像分类、目标检测、语音识别等。开发者可以通过模型库获取现成的模型,并将其应用于自己的任务中,从而避免从头开始训练模型所需的大量时间和计算资源。常见的模型库包括tensorflow hub、pytorch hub、nvidiangc等。
68.tensorlayerx:是一套跨平台的深度学习开发工具,它使用纯python代码开发。通过对多后端的python接口进行封装,tensorlayerx提供了一套兼容多个框架的深度学习开发统一api,再由各后端框架的底层程序负责调用硬件计算,使得开发者可以无视后端框架和硬件平台地进行深度学习开发。在这个过程中,几乎没有计算性能的损耗。
69.随机计算机技术的发展,深度学习算法也随之发展,越来越多的模型结构被提出,且模型可以在许多场景取得优秀得效果。因此,在各行各业得到了越来越广泛的应用。其中,在自行开发或实现深度学习模型时,需要使用python编程语言与深度学习框架,常用的深度学习框架有ensorflow、pytorch、paddlepaddle、mindspore等。然而,对于一些常见的使用场景,如图像检测,文本分类等,直接使用公开模型的开源实现即可达到理想的效果,同时用户无需进行模型的开发,极大地减小了工作量。但是不同类型的模型分别存储于不同的位置,难以通过统一方式调用,且现有模型没有场景划分的概念,即使针对类似工作的两个模型之间也很难直接替换,需要用户对模型做一定的修改和定制,难以快速地提取需要的模型。
70.基于此,本技术实施例提供了一种模型库构建方法、基于模型库的模型调用方法和相关设备,通过基于模型名称信息和原始模型网络结构信息构建模型代码文件,再将场景接口和模型代码文件关联得到模型关联信息,以将模型关联信息、模型代码文件和选定
场景接口存入到数据库以构建模型库。因此,通过构建包含多种类别模型的模型库,以基于通用的模型接口连接模型库中的模型,以便于用户仅需要提供模型应用场景和模型名称即可快速从模型库中调用对应的模型进行训练和推理,提升模型调用和使用的效率。
71.本技术实施例提供的模型库构建方法、基于模型库的模型调用方法和相关设备,具体通过如下实施例进行说明,首先描述本技术实施例中的模型库构建方法。
72.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
73.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
74.本技术实施例提供的模型库构建方法、基于模型库的模型调用方法,涉及人工智能技术领域。本技术实施例提供的模型库构建方法、基于模型库的模型调用方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现模型库构建方法的应用等,但并不局限于以上形式。
75.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
76.需要说明的是,在本技术的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本技术实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本技术实施例能够正常运行的必要的用户相关数据。
77.图1是本技术实施例提供的模型库构建方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s101至步骤s105。
78.步骤s101,获取原始模型数据;其中,原始模型数据包括:原始模型应用场景信息、原始模型参数、原始模型网络结构信息、原始模型名称信息;
79.步骤s102,根据原始模型名称信息和原始模型网络结构信息进行代码定义,得到模型代码文件;
80.步骤s103,根据原始模型应用场景信息和原始模型参数从预设的候选场景接口中筛选出选定场景接口;
81.步骤s104,将选定场景接口和模型代码文件进行相关联处理,得到模型关联信息;
82.步骤s105,将模型关联信息、模型代码文件和选定场景接口存入预设的数据库中,得到模型库。
83.本技术实施例所示意的步骤s101至步骤s105,通过获取原始模型数据,且原始模型数据包括:原始模型应用场景信息、原始模型参数、原始模型网络结构信息和原始模型名称信息。当模型需要入库注册构建模型库时,先使用代码定义原始模型名称信息和原始模型结构信息得到模型代码文件,以编写执行原始模型对应的代码。然后根据原始模型应用场景信息、原始模型参数从候选场景接口中筛选出选定场景接口,也即确定每一原始模型实现场景对应的选定场景接口,再将选定场景接口和模型代码文件相关联得到模型关联信息,通过模型关联信息表征选定场景接口和模型代码文件之间的映射关系。最后将模型关联信息、模型代码文件和选定场景接口都存入数据库中以实现模型的编写、注册构建包含多种场景模型的模型库。
84.在一些实施例的步骤s101中,获取原始模型应用场景信息、原始模型参数、原始模型网络结构信息和原始模型名称信息;其中,原始模型应用场景信息表征原始模型使用的场景。在本实施例中,原始模型应用场景信息是3个领域12中场景对应的模型,且原始模型应用场景信息包括:目标检测、图像分类、语义分割、人脸检测、人脸识别、人体姿态识别、人脸关键点检测、文字识别、文本分类、文本条件生成、文本标注和自动语音识别。其中,目标检测、图像分类、语义分割、人脸检测、人脸识别、人体姿态识别、人脸关键点检测、文字识别属于视觉领域,文本分类、文本条件生成、文本标注为文本领域,自动语言识别为语音领域。因此,通过获取多个应用场景对应模型,以构建模型应用场景信息更加丰富的模型库。
85.在一些实施例的步骤s102中,原始模型网络结构信息表征原始模型的网络结构,也即确定原始模型的输入数据格式和输出数据格式,所以通过代码完整定义原始网络需要的原始模型网络结构信息得到模型代码文件,且通过代码定义原始模型名称信息,以将代码形式的原始模型名称信息融入模型代码文件,便于基于模型名称信息查找到对应的模型代码文件。因此,通过代码来描述原始模型的网络结构和名称信息,以便于后续模型调用通过模型名称查找。
86.请参阅图2,在一些实施例中,步骤s103可以包括但不限于包括步骤s201至步骤s202:
87.步骤s201,根据原始模型应用场景信息从候选场景接口中筛选出初步场景接口;
88.步骤s202,根据模型参数设置初步场景接口的接口参数,得到选定场景接口。
89.在一些实施例的步骤s201中,在模型进行入库注册之前,需要先定义好原始模型对应的接口。针对同一原始模型应用场景信息,由于任务目标基本相同,所以原始模型的输入输出格式大致相同。基于原始模型应用场景信息从候选场景接口中选择对应的初步场景接口,也即基于原始模型应用场景信息定义对应的候选场景接口作为初步场景接口,并对同一原始模型应用场景信息的原始模型定义相同的输入输出格式。
90.具体地,请参照图3,图3示出了模型库调用的关系图,包括用户端、场景接口和模型库,且模型库中设有模型接口和场景接口连接。用户端可以通过场景接口调用模型接口,再通过模型接口调用模型,以实现模型统一接口调用,能够快速查找到模型应用场景对应的模型进行训练和推理,提升模型调用的效率。因此,在模型调用时仅需要指定模型名称即可确定模型应用场景信息,以实现模型快速调用。其中,每一原始模型应用场景信息与每个原始模型都表现为一个python类,候选场景接口表现为python类的函数。一般来说,候选场景接口有__init__、loss_fn、forward、predict四个函数,模型接口有__init__、build、forward三个函数,所以候选场景接口和原始模型的模型接口都是预先定义好的,无法修改。由于提前定义好候选场景接口和模型接口,所以即使原始模型更换时,用户端在调用另一应用场景信息对应的模型操作也完全相同,原始模型调用更换时仅需要更换python类,所以通过模型应用场景调用原始模型的方式相同。
91.在一些实施例的步骤s202中,对于同一原始模型应用场景的初步场景接口相同,但是同一原始模型应用场景会存在不同规模的模型,所以基于模型参数对初步场景接口的接口参数调整以得到选定场景模型。例如,若原始模型应用场景信息为图像分类,对应的初步场景接口为tlxzoo.imageclassifier(model=”resnet50”),而该初步场景接口为通用图像分类对应的接口信息,若针对更大的图像分类模型,直接修改初步场景接口的接口参数。其中,初步场景接口以函数表征,所以修改初步场景接口的接口参数也即修改函数内的模型名称即可得到选定场景接口为tlxzoo.imageclassifier(model=”resnet101”)。
92.在本技术实施例所示意的步骤s201至步骤s202,通过确定原始模型应用场景信息对应的初步场景接口,且初步场景接口以函数表征,再基于模型参数修改函数内的名称以得到更大模型对应的选定场景接口,实现各种类型模型的场景接口定义。
93.在一些实施例的步骤s104中,通过将选定场景接口和模型代码文件进行相关联,也即构建选定场景接口和模型代码文件之间的映射关系得到模型关联信息。其中,选定场景接口以函数表征,若图像分类模型对应的选定场景接口为tlxzoo.imageclassifier(model=”resnet101”),而图像分类模型对应模型代码文件为a代码文件,那么建立tlxzoo.imageclassifier(model=”resnet101”)

a代码文件之间的映射关系,以便于根据场景接口直接调用模型对应模型代码文件,以实现模型快速调用。
94.在一些实施例的步骤s105中,通过将模型代码文件、模型关联关系和选定场景接口都存入数据库以构建包含多种应用场景模型的模型库。同时,将模型代码文件、模型关联关系和选定场景接口存入模型库,等同于完成原始模型注册到模型库。
95.请参阅图4,在一些实施例中,在步骤s105之后,模型库构建方法还可以包括但不限于包括步骤s401至步骤s405:
96.步骤s401,获取新增模型数据;其中,新增模型数据包括:新增模型名称信息和模型导入语句;
97.步骤s402,根据新增模型名称信息在原始模型应用场景信息中筛选出选定模型应用场景信息;
98.步骤s403,根据选定模型应用场景信息在模型库中查找出选定代码文件;
99.步骤s404,在选定代码文件中添加模型导入语句,得到新增代码文件;
100.步骤s405,将新增代码文件存入模型库,以更新模型库。
101.当完成模型库构建后,模型库已经存储了多个应用场景的原始模型,当需要在模型库中进一步新增模型。在一些实施例的步骤s401中,获取新增模型名称信息和模型导入语句,且模型导入语句为新增模型需要在模型代码文件中添加的语句以实现模型新增。
102.在一些实施例的步骤s402中,基于新增模型名称信息在原始模型应用场景信息中进行筛选处理,也即按照新增模型名称信息找到最接近的原始模型名称信息作为选定模型名称信息,再获取选定模型名称信息对应的原始模型应用场景作为选定模型应用场景信息。例如,若新增模型名称信息为工业图像识别模型,找到图像识别模型对应的模型应用场景信息为图像识别。
103.在一些实施例的步骤s403中,基于选定模型应用场景信息确定模型库中的场景接口,再基于场景接口从模型库中调取对应的模型代码文件作为选定代码文件,以在模型库中查找新增模型名称信息对应模型类的导入代码。其中,每一个模型应用场景信息对应的选定代码文件都在一个固定地方,在一个场景中添加新的模型时,需要找到导入代码。
104.在一些实施例的步骤s404中,在选定代码文件中添加新增模型的模型导入语句,所以每次新增模型时,仅需要在原有近似的模型代码文件中修改少部分语句即可新增模型,使得模型库内新增模型操作简易。
105.在一些实施例的步骤s405中,构建新增代码文件后,直接将新增代码文件存入模型库,且新增代码文件对应模型应用场景信息、模型关联信息与关联的选定模型应用场景信息相同。因此,在自定义模型时,仅需要输入新增模型名称信息和模型导入语句即可,使得模型自定义操作简易。
106.在本实施例所示意的步骤s401至步骤s405,通过基于新增模型名称信息在模型库中找出对应的模型代码文件作为选定代码文件,再在选定代码文件中添加模型导入语句,以实现模型库中模型自定义,且自定义模型操作简易,无需重新构建代码,仅需要修改少部分代码即可完成模型新增。
107.请参阅图5,在一些实施例中,步骤s403可以包括但不限于包括步骤s501至步骤s502:
108.步骤s501,根据选定模型应用场景信息从候选场景接口中筛选出选中场景接口;
109.步骤s502,根据选中场景接口在模型库中调取出对应的模型代码文件作为选定代码文件。
110.在一些实施例的步骤s501中,由于场景接口和模型接口关联,所以调用模型库中的模型代码文件时,需要先根据选定模型场景信息从候选场景接口中查找到匹配的选中场景接口,以根据选定场景接口确定对应的模型接口,以便于模型库中的模型调用。
111.在一些实施例的步骤s502中,基于选定场景接口直接调用到对应的模型接口,再通过模型接口调取出对应的模型代码文件作为选定代码文件,使得选定代码文件调取准确且快速。
112.需要说明的是,现有的pytorch/tensorflow等框架的官方模型库,其关注重点在于模型的实现,并没有场景接口这一层级,此时需要由用户端直接在模型库调用模型,若模型库中存在多个模型需要耗费大量的时间逐个查找模型,使得模型调用效率低下。同时,现有技术中,没有同一的场景接口,每个原始模型的调用方式和前后处理方式均不同,所以用户需要编写额外的代码适配。相当于每次调用一个模型,即使调用同一模型应用场景的原
始模型,都需要重新进行一次开发。因此,本技术通过添加场景接口关联用户端和模型库,且为每一模型应用场景提供标准的场景接口,用户端仅需要调用少量场景接口即可完成模型调用,使得模型调用更加简单。
113.在本实施例所示意的步骤s501至步骤s502,通过基于选定模型场景信息从候选场景接口中选出选中场景接口,再基于选定场景接口再模型库中调用对应的选定代码文件。因此,通过基于场景接口实现模型对应的模型代码文件调用,使得模型代码文件提取更加简易。
114.请参阅图6,本技术实施例还提供一种基于模型库的模型调用方法,基于模型库的模型调用方法包括但不限于包括步骤s601至步骤s602:
115.步骤s601,获取调用模型名称信息;
116.步骤s602,根据调用模型名称信息在预设的模型库中提取出目标模型;其中,模型库通过如上述的模型库构建方法得到。
117.在本实施例所示意的步骤s601至步骤s602,通过上述模型库构建方法构建得到模型库后,当需要调用模型库中的模型时,仅需要调用模型名称信息即可在模型库中直接调取出目标模型,使得目标模型调用更加高效。
118.需要说明的是,模型库是基于tensorlayerx的深度学习模型库,模型库中的模型可以在不同的框架/平台上运行。模型库根据模型应用场景分布式存储,且每一模型库的模型代码文件中包含模型名称信息,所以仅需要用户端提供调用模型名称信息即可完成模型调用。因此,对于常用场景与模型,用户端只需指定场景名称与模型名称,即可自动从模型库中调用目标模型。
119.请参阅图7,在一些实施例中,模型库包括:模型关联信息、选定模型接口和模型代码文件;步骤s106可以包括但不限于包括步骤s701至步骤s703:
120.步骤s701,根据调用模型名称信息从预设的模型应用场景信息映射表中查找出调用模型应用场景信息;
121.步骤s702,根据调用模型应用场景信息在模型关联信息查找出目标场景接口;
122.步骤s703,根据目标场景接口、选定模型接口在模型代码文件中筛选出目标代码文件,运行目标代码文件以运行目标模型。
123.在一些实施例的步骤s701中,预设的模型应用场景映射表包含模型应用场景信息和模型名称信息之间的映射关系;例如,工业图像识别模型、环境图像识别模型、图像内容识别模型都对应一个模型场景信息为图像识别。因此,基于调用模型名称信息在模型应用场景信息映射表中查找出对应的模型应用场景信息,以确定需要调用模型的模型应用场景。
124.在一些实施例的步骤s702中,模型关联信息包含模型代码文件和选定场景接口之间的关联信息,所以基于调用模型应用场景信息筛选出模型关联信息中的选定场景接口作为目标场景接口,以确定需要调用模型的场景接口,进而确定对应的模型接口。
125.在一些实施例的步骤s703中,根据目标场景接口找到匹配的选定模型接口,再将选定模型接口对应模型接口中提取出模型代码文件作为目标代码文件。目标代码文件表征目标模型的模型网络结构信息,所以通过运行目标代码文件以调出目标模型,以使目标模型开始训练或者推理。
126.在本实施例所示意的步骤s701至步骤s703,通过先确定调用模型名称信息对应的模型应用场景信息,再确定模型应用场景信息对应的目标场景接口,最后基于目标场景接口直接在模型库中调出目标代码文件,通过目标代码文件运行以实现目标模型运行,使得目标模型调用更加简易。
127.请参阅图8,在一些实施例中,在步骤s703之后,基于模型库的模型调用方法还包括但不限于包括步骤s801至步骤s804:
128.步骤s801,获取模型训练数据;
129.步骤s802,根据模型训练数据对目标模型进行训练;
130.步骤s803,获取待预测数据;
131.步骤s804,将待预测数据输入至训练后的目标模型进行模型推理,得到目标数据。
132.在一些实施例的步骤s801至步骤s802,当完成目标模型调出之后,获取模型训练数据,且模型训练数据包括训练数据集和测试数据集,将训练数据集输入至目标模型得到输出数据集;基于测试数据集和输出数据集对目标模型进行参数调整,并通过优化器进行目标模型的参数优化,以在训练完成后保存最优的模型参数。例如,若目标模型为图像分类模型,设定优化器优化图像分类模型,然后在指定训练过程计算出准确度指标,当准确度指标收敛完成图像分类模型训练,并保存模型参数。
133.在一些实施例的步骤s803至步骤s804,完成目标模型训练之后,将待预测数据输入至目标模型进行推理计算得到目标数据,使得目标调用后直接使用,以快速完成推理计算。例如,若目标模型为图像分类模型,读取预先保存的模型参数,将模型参数替换目标模型的参数,然后读取待预测数据,将待预测数据输入至目标模型进行推理处理,得到目标数据。其中,目标数据为推理结果,完成推理结果运算之后,将推理结果打印出来。
134.本技术实施例使用深度学习统一开发接口tensorlayerx编写模型,且同样的代码可以在tensorflow、pytorch、paddlepaddle、mindspore等框架上运行,可以在不同的软硬件环境中进行开发与运行,可以通过匹配最佳环境以发挥出高效训练极致性能。同时,将模型场景常见的使用情形分为3个领域的12种场景,对于每种场景,制定了模型的标准输入输出格式与训练/推理的场景接口,以通过场景接口连接模型库中的模型,所以用户端可以通过场景接口从模型库中快速选择模型进行训练/推理。除此之外,当用户端需要实现自定义模型,只需要输入新增模型名称信息和导入语句即可完成自定义模型,以更新模型库,使得模型库更新更加简易。
135.请参阅图9,本技术实施例还提供一种模型库构建系统,可以实现上述模型库构建方法,该系统包括:
136.数据获取模块901,用于获取原始模型数据;其中,原始模型数据包括:原始模型应用场景信息、模型参数、原始模型网络结构信息、原始模型名称信息;
137.代码定义模块902,用于根据原始模型名称信息和原始模型网络结构信息进行代码定义,得到模型代码文件;
138.接口筛选模块903,用于根据原始模型应用场景信息和模型参数从预设的候选场景接口中筛选出选定场景接口;
139.关联模块904,用于将选定场景接口和模型代码文件进行相关联处理,得到模型关联信息;
140.存储模块905,用于将模型关联信息、模型代码文件和选定场景接口存入预设的数据库中,得到模型库。
141.该模型库构建系统的具体实施方式与上述模型库构建方法的具体实施例基本相同,在此不再赘述。
142.请参照图10,本技术实施例还提供一种基于模型库的模型调用系统,可以实现上述基于模型库的模型调用方法,该系统包括:
143.信息获取模块1001,用于获取调用模型名称信息;
144.模型提取模块1002,用于根据调用模型名称信息在预设的模型库中提取出目标模型;其中,模型库通过如上述的模型库构建方法得到。
145.该基于模型库的模型调用系统的具体实施方式与上述基于模型库的模型调用方法的具体实施例基本相同,在此不再赘述。
146.本技术实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述模型库构建方法,或者基于模型库的模型调用方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
147.请参阅图11,图11示意了另一实施例的电子设备的硬件结构,电子设备包括:
148.处理器1101,可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
149.存储器1102,可以采用只读存储器(readonlymemory,rom)、静态存储设备、动态存储设备或者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器1102可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1102中,并由处理器1101来调用执行本技术实施例的模型库构建方法,或者基于模型库的模型调用方法;
150.输入/输出接口1103,用于实现信息输入及输出;
151.通信接口1104,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
152.总线1105,在设备的各个组件(例如处理器1101、存储器1102、输入/输出接口1103和通信接口1104)之间传输信息;
153.其中处理器1101、存储器1102、输入/输出接口1103和通信接口1104通过总线1105实现彼此之间在设备内部的通信连接。
154.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述模型库构建方法,或者基于模型库的模型调用方法。
155.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
156.本领域技术人员可以理解的是,图中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
157.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
158.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
159.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
160.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
161.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
162.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
163.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
164.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步
骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
165.以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
再多了解一些

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

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