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

应用于模型转换的管理方法、系统、装置及电子设备与流程

2022-02-20 19:19:48 来源:中国专利 TAG:


1.本技术涉及计算机技术,特别涉及一种应用于模型转换的管理方法、系统、装置及电子设备。


背景技术:

2.ai设备可用于深度学习训练和深度学习推理。所谓深度学习训练是指:将一组训练数据集(带有标签的数据)送入神经网络,根据神经网络的输出信息与预设的期望输出信息之间的差别来调整神经网络中各网络层的连接权值,最终训练出一个理想的神经网络。所谓深度学习推理是指:利用训练好的神经网络进行数据推理,比如:识别图像、识别记录口述的语言、检测血液中的疾病,或者推荐符合某人风格的衣物等。作为一个实施例,ai设备可为部署了ai芯片的设备,ai芯片可用于实现上述的深度学习训练和深度学习推理。
3.相比深度学习训练,深度学习推理对高性能有很高要求。为了充分发挥ai设备的高性能,各aiai设备厂商会为出厂的ai设备配置对应的深度学习推理框架。
4.目前,在ai设备上部署深度学习模型时,经常会出现以下问题:深度学习模型与ai设备不匹配(比如深度学习模型与ai设备对应的深度学习推理框架不匹配,不能基于ai设备对应的深度学习推理框架进行学习推理等)。而一旦深度学习模型与ai设备不匹配,则会导致深度学习模型不能依赖ai设备对应的深度学习推理框架进行学习推理等。


技术实现要素:

5.本技术提供了应用于模型转换的管理方法、系统、装置及电子设备,以在深度学习模型与ai设备不匹配时对深度学习模型进行转换管理,以使转换后的深度学习模型与ai设备匹配。
6.本技术提供的方法包括:
7.一种应用于模型转换的管理方法,该方法包括:
8.获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息;所述目标ai设备为待部署所述第一深度学习模型的ai设备,所述第一深度学习模型与所述目标ai设备不匹配;
9.对所述第一深度学习模型进行转换,得到与所述目标ai设备的ai设备信息匹配的第二深度学习模型;
10.依据所述第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
11.作为一个实施例,所述对第一深度学习模型进行转换包括:
12.将所述模型转换信息转发至所述ai设备信息对应的所述目标ai设备,以由目标ai设备通过已被配置的模型转换工具对所述第一深度学习模型进行转换。
13.作为一个实施例,所述依据第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型包括:
14.按照指定的模型管理协议将所述模型描述信息进行封装得到模型封装信息;
15.将所述模型封装信息加载在所述第二深度学习模型的指定位置;
16.将指定位置加载了所述模型封装信息的第二深度学习模型进行打包得到所述目标深度学习模型。
17.作为一个实施例,所述按照指定的模型管理协议对所述模型描述信息进行封装得到模型封装信息,包括:
18.按照指定的模型管理协议对所述模型描述信息和所述模型转换信息进行封装,得到所述模型封装信息;或者,
19.按照指定的模型管理协议对所述模型描述信息、以及所述模型转换信息中除所述第一深度模型之外的信息进行封装,得到所述模型封装信息。
20.作为一个实施例,所述软件版本信息至少包括以下信息的至少一个:
21.用于利用所述第二深度学习模型进行深度学习推理的推理软件栈最低版本信息、用于利用所述第二深度学习模型进行深度学习推理的推理软件栈种类。
22.作为一个实施例,所述模型参数至少包括以下参数中的至少一个:
23.所述第二深度学习模型对应的模型权值数据格式;
24.所述第二深度学习模型的模型类型;所述模型类型至少包括:用于指示所述第二深度学习模型为量化模型的量化类型;
25.当所述第二深度学习模型的模型类型为量化类型时,所述第二深度学习模型对应的量化参数。
26.作为一个实施例,该方法进一步包括:
27.按照设定加密算法对所述目标深度学习模型进行加密并存储加密后的目标深度学习模型。
28.一种应用于模型转换的管理系统,该系统包括:
29.客户端、网络模型管理服务器、n个ai设备;其中,n个ai设备包括至少一个云端ai设备,和/或,至少一个终端侧ai设备,和/或,至少一个网络边缘侧ai设备;n大于等于1;客户端、n个ai设备分别通过网络与所述网络模型管理服务器连接;
30.所述网络模型管理服务器,从客户端获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息;所述目标ai设备为所述n个ai设备中待部署所述第一深度学习模型的ai设备,所述第一深度学习模型与所述目标ai设备不匹配;以及
31.对所述第一深度学习模型进行转换,得到与所述目标ai设备的ai设备信息匹配的第二深度学习模型,依据所述第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
32.一种应用于模型转换的管理装置,该装置应用于网络模型管理服务器,该装置包括:
33.获取单元,用于获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息;所述目标ai设备为待部署所述第一深度学习模型的ai设备,所述第一深度学习模型与所述目标ai设备不匹配;
34.第一处理单元,用于对所述第一深度学习模型进行转换,得到与所述目标ai设备
匹配的第二深度学习模型;
35.第二处理单元,用于依据所述第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
36.一种电子设备,该电子设备包括:处理器和机器可读存储介质;
37.所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
38.所述处理器用于执行机器可执行指令,以实现上述公开的方法步骤。
39.由以上技术方案可以看出,本技术中,本实施例通过在目标深度学习模型中体现与目标ai设备匹配的第二深度学习模型,这实现了第一深度学习模型与目标ai设备不匹配时对第一深度学习模型进行转换管理,以使目标深度学习模型与目标ai设备匹配;
40.进一步地,本实施例通过在目标深度学习模型中既体现与目标ai设备匹配的第二深度学习模型,又体现用于描述第二深度学习模型的模型描述信息,这能够直观标记利用该目标深度学习模型进行深度学习推理时所需要的关键信息(具体如上文描述的模型描述信息),无需再额外记录目标深度学习模型对应的ai设备信息、深度学习推理框架、模型训练框架等碎片信息,实现了统一对多ai设备平台(混合了不同应用场景的ai设备的平台)的模型转换过程进行管理;
41.再进一步地,当在目标深度学习模型中体现出用于描述第二深度学习模型的模型描述信息,后续可以基于该模型描述信息对目标深度学习模型进行升级等。
附图说明
42.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
43.图1为本技术实施例提供的模型转换示意图;
44.图2为本技术实施例提供的方法流程图;
45.图3为本技术实施例提供的步骤203实现流程图;
46.图4为本技术实施例提供的系统结构图;
47.图5为本技术实施例提供的装置结构图;
48.图6为本技术实施例提供的装置硬件结构图。
具体实施方式
49.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
50.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
51.为了使本领域技术人员更好地理解本技术实施例提供的技术方案,并使本技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本技术实施例中技术方案作进一步详细的说明。
52.作为一个实施例,当待部署的深度学习模型与ai设备不匹配时,则对深度学习模型进行转换,以使转换后的深度学习模型与ai设备匹配。在一个例子中,对深度学习模型进行转换可借助配置的模型转换工具实现,下文会举例描述模型转换工具如何对深度学习模型进行转换,这里暂不赘述。
53.以如下三个深度学习模型为例:模型101a(对应的训练框架为caffe,也可称caffe模型)、模型102a(对应的训练框架为tensorflow,也可称tensorflow模型)、模型103a(对应的训练框架为pytorch,也可称pytorch模型)。假若该三个深度学习模型需要部署在如下三个ai设备上:ai设备101b、ai设备102b、ai设备103b,则:
54.当模型101a与ai设备101b不匹配,这里以模型101a与ai设备101b(具体可为ai设备101b上ai芯片_0)对应的深度学习推理框架不匹配为例,则对模型101a进行模型转换,得到与ai设备101b(具体可为ai设备101b上ai芯片_0)对应的深度学习推理框架匹配的模型(记为模型101c)。之后将模型101c部署在ai设备101b(具体可为ai设备101b中芯片_0)上。
55.当模型101a与ai设备102b不匹配,这里以模型101a与ai设备102b(具体可为ai设备102b上ai芯片_1)对应的深度学习推理框架不匹配为例,则对模型101a进行模型转换,得到与ai设备102b(具体可为ai设备102b上ai芯片_1)对应的深度学习推理框架匹配的模型(记为模型102c)。之后将模型102c部署在ai设备102b(具体可为ai设备102b中芯片_1)上。
56.当模型101a与ai设备103b不匹配,这里以模型101a与ai设备103b(具体可为ai设备103b中ai芯片_2)对应的深度学习推理框架不匹配为例,则对模型101a进行模型转换,得到与ai设备103b(具体可为ai设备103b中ai芯片_2)对应的深度学习推理框架匹配的模型(记为模型103c)。之后将模型103c部署在ai设备103b(具体可为ai设备103b中芯片_2)上。
57.与模型101a类似,模型102a、模型103a采用类似模型101a的处理方式部署在ai设备101b、ai设备102b、ai设备103b,这里不再一一赘述。
58.通过上面描述可以知道,通过对深度学习模型进行模型转换以使转换后的深度学习模型与ai设备匹配,最终可以在各ai设备上配置匹配的深度学习模型。
59.需要说明的是,在一个例子中,上述图1所示的ai设备101b至ai设备103b,并非限制为同一应用场景下的ai设备,其可为应用于云端、终端侧、网络边缘侧等不同应用场景下的ai设备。
60.而应用于混合了不同应用场景下ai设备的平台(简称多ai设备平台),则作为一个实施例,当完成深度学习模型进行转换后,比如当完成对模型101a进行模型转换得到与ai设备101b(具体可为ai设备101b上ai芯片_0)对应的深度学习推理框架匹配的模型(记为模型101c)后,还需要进一步对转换后的深度学习模型进行统一管理,以实现ai设备最终部署其匹配的深度学习模型,具体见下文图2所示流程描述。
61.为了实现对转换后的深度学习模型进行统一管理,本技术提供了图2所示的流程。
62.参见图2,图2为本技术实施例提供的方法流程图。该流程应用于网络模型管理服务器。在一个例子中,这里的网络模型管理服务器可为在客户端与ai设备之间新增加的一台设备。在另一个例子中,这里的网络模型管理服务器也可集成在已有设备比如客户端、某一台ai设备等上,本实施例并不具体限定。
63.如图2所示,该流程可包括以下步骤:
64.步骤201,获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至
少包括:第一深度学习模型、以及目标ai设备的ai设备信息;目标ai设备为待部署第一深度学习模型的ai设备,第一深度学习模型与目标ai设备不匹配。
65.需要说明的是,这里,第一深度学习模型只是为便于描述而进行的命名,并非用于限定。在一个例子中,第一深度学习模型可为初始训练出的深度学习模型。
66.作为一个实施例,当用户根据实际需求确定在某一ai设备(记为目标ai设备)上部署上述第一深度学习模型时,若发现第一深度学习模型与目标ai设备不匹配,则会通过客户端向网络模型管理服务器发送第一模型转换请求,第一模型转换请求携带上述模型转换信息。至此,网络模型管理服务器获取待转换的第一深度学习模型的模型转换信息。可选地,这里,第一深度学习模型与目标ai设备不匹配可为:第一深度学习模型对应的训练框架与目标ai设备对应的训练框架不匹配,或者,运行该第一深度学习模型进行深度学习推理框架的推理软件栈版本信息和目标ai设备对应的推理软件栈版本信息不匹配等。
67.基于上面第一模型转换请求的描述,则作为一个实施例,本步骤201中,获取待转换的第一深度学习模型的模型转换信息可包括:
68.接收来自客户端的第一模型转换请求,第一模型转换请求携带上述模型转换信息;从第一模型转换请求中获取模型转换信息。
69.如步骤201描述,可选地,模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息。作为一个实施例,目标ai设备的ai设备信息可包括:目标ai设备的设备标识(比如目标ai设备上ai芯片的主型号、子型号等)、目标ai设备支持的计算指令集等设备能力信息。可选地,当目标ai设备包括多个ai芯片子型号时,这里的设备能力信息可为目标ai设备上一个指定ai芯片支持的能力信息(软硬件信息)。在一个例子中,这里的指定ai芯片可为目标ai设备上具有最高版本能力级的软硬件信息(也即芯片性能)的ai芯片。之所以设置上述设备能力信息为最高版本能力级的软硬件信息,其原因是:最高版本能力级的软硬件信息在计算指令集、软件栈上冗余度较高,可有效节省模型转换所需要部署的软硬件资源。
70.步骤202,对第一深度学习模型进行转换,得到与目标ai设备的ai设备信息匹配的第二深度学习模型。
71.作为一个实施例,本步骤202中,模型转换信息可进一步包括:第一深度学习模型对应的训练框架。在一个例子中,第一深度学习模型对应的训练框架可为caffe,、tensorflow、pytorch等,本实施例并不具体限定。
72.可选地,本实施例中,第一深度学习模型对应的训练框架可与上述的第一深度学习模型同时获取,也可与上述的第一深度学习模型按顺序获取,本实施例并不具体限定。
73.作为一个实施例,本步骤202中对第一深度学习模型进行转换可由网络模型管理服务器实现,具体可为:网络模型管理服务器可结合上述模型转换信息中第一深度学习模型对应的训练框架和目标ai设备的ai设备信息确定对应的模型转换机制,之后,通过之前已获取的与目标ai设备对应的模型转换工具并基于上述模型转换机制对第一深度学习模型进行转换,得到与目标ai设备匹配的第二深度学习模型。这里,与目标ai设备对应的模型转换工具用于当待部署在目标ai设备上的深度学习模型与目标ai设备不匹配时,对待部署在目标ai设备上的深度学习模型进行模型转换,以得到与目标ai设备匹配的深度学习模型。
74.可选地,在一个实施例中,网络模型管理服务器通过之前已获取的与目标ai设备对应的模型转换工具并基于上述模型转换机制对第一深度学习模型进行转换可包括:在第一深度学习模型对应的训练框架与目标ai设备支持的训练框架不匹配时,通过之前已获取的与目标ai设备对应的模型转换工具并基于上述模型转换机制对第一深度学习模型对应的训练框架进行转换,以使转换后的第一深度学习模型对应的训练框架与目标ai设备支持的训练框架匹配(即得到与目标ai设备匹配的第二深度学习模型)。
75.可选地,在另一个实施例中,网络模型管理服务器通过之前已获取的与目标ai设备对应的模型转换工具基于上述模型转换机制对第一深度学习模型进行转换可包括:
76.当第一深度学习模型与目标ai设备支持的深度学习推理框架不匹配(比如第一深度学习模型的第一算法与目标ai设备支持的深度学习推理框架不匹配,不能基于目标ai设备支持的深度学习推理框架运行第一深度学习模型进行深度学习推理等),则通过之前已获取的与目标ai设备对应的模型转换工具并基于上述模型转换机制对第一深度学习模型进行转换,以使基于目标ai设备支持的深度学习推理框架运行转换后深度学习模型进行深度学习推理(即得到与目标ai设备匹配的第二深度学习模型)。
77.作为另一个实施例,为减轻网络模型管理服务器的压力,本步骤202中对第一深度学习模型进行转换也可由目标ai设备实现,具体可为:将上述模型转换信息转发至上述目标ai设备,以由目标ai设备依据模型转换信息中的ai设备信息、训练框架确定对应的模型转换机制,通过已被配置的上述模型转换工具并基于上述模型转换机制对第一深度学习模型进行转换。这里,目标ai设备通过已被配置的上述模型转换工具并基于上述模型转换机制对第一深度学习模型进行转换可参见上述网络模型管理服务器对第一深度学习模型进行转换的描述,这里不再赘述。
78.最终,通过步骤202可得到与目标ai设备的ai设备信息匹配的第二深度学习模型。需要说明的是,为统一对多ai设备平台(混合了不同应用场景的ai设备的平台)的模型转换过程进行管理,此时的第二深度学习模型并非为最终的目标深度学习模型,本实施例还需要进一步对第二深度学习模型进行处理,具体见步骤203。
79.步骤203,依据第二深度学习模型和用于描述第二深度学习模型的模型描述信息生成第一深度学习模型的目标深度学习模型。
80.可选地,在本步骤203中,上述模型描述信息至少包括:用于运行所述第二深度学习模型进行深度学习推理的软件版本信息和/或所述第二深度学习模型的模型参数。
81.可选地,作为一个实施例,这里的软件版本信息至少包括以下信息的至少一个:用于利用所述第二深度学习模型进行深度学习推理的推理软件栈最低版本信息、用于利用所述第二深度学习模型进行深度学习推理的推理软件栈种类。在一个例子中,为便于跟踪追溯目标深度学习模型,这里的软件版本信息还可进一步包括:上述模型转换工具的软件版本信息等。
82.可选地,作为一个实施例,上述的模型参数可为用于描述第二深度学习模型的一些关键参数,下文会举例描述,这里暂不赘述。
83.作为一个实施例,上述步骤203中,依据第二深度学习模型和用于描述第二深度学习模型的模型描述信息生成第一深度学习模型的目标深度学习模型有很多实现方式,但不管哪种实现方式,最终得到的目标深度学习模型体现出第二深度学习模型和用于描述第二
深度学习模型的模型描述信息。下文图3所示流程举例描述上述步骤203中的一种实现方式,这里暂不赘述。
84.本实施例通过在目标深度学习模型中体现出用于描述第二深度学习模型的模型描述信息,其目的是直观标记利用该目标深度学习模型进行深度学习推理时所需要的关键信息(具体如上文描述的模型描述信息),无需再额外记录目标深度学习模型对应的ai设备信息、深度学习推理框架、模型训练框架等碎片信息,实现了统一对多ai设备平台(混合了不同应用场景的ai设备的平台)的模型转换过程进行管理。
85.进一步地,当在目标深度学习模型中体现出用于描述第二深度学习模型的模型描述信息,后续可以基于该模型描述信息对目标深度学习模型进行升级等。
86.至此,完成图2所示流程。
87.通过图2所示流程,本实施例最终得到目标深度学习模型与目标ai设备匹配,这实现了第一深度学习模型与目标ai设备不匹配时对第一深度学习模型进行转换管理,以使目标深度学习模型与目标ai设备匹配。
88.进一步地,本实施例中,目标深度学习模型既体现与目标ai设备匹配的第二深度学习模型,又体现用于描述第二深度学习模型的模型描述信息,这能够直观标记利用该目标深度学习模型进行深度学习推理时所需要的关键信息(具体如上文描述的模型描述信息),无需再额外记录目标深度学习模型对应的ai设备信息、深度学习推理框架、模型训练框架等碎片信息,实现了统一对多ai设备平台(混合了不同应用场景的ai设备的平台)的模型转换过程进行管理;
89.再进一步地,当在目标深度学习模型中体现出用于描述第二深度学习模型的模型描述信息,后续可以基于该模型描述信息对目标深度学习模型进行升级等。
90.需要说明的是,在上述步骤201中,模型转换信息还可进一步包括:对第一深度学习模型进行优化处理的优化处理标识。可选地,这里的优化处理标识可为:用于指示对模型进行优化处理比如量化和/或压缩等的标识。当获取到上述优化处理标识时,则即可在上述步骤202中对第一深度学习模型进行转换的过程中,执行优化处理标识对应的优化处理,以提升最终得到的第二深度学习模型的性能。以优化标识为量化标识为例,则在上述步骤202中可进一步在对第一深度学习模型进行转换的过程中进行量化处理,以减少最终得到的第二深度学习模型的存储占用空间;此时最终得到的第二深度学习模型的模型类型可为:用于指示第二深度学习模型为量化模型的量化类型。
91.还需要说明的是,本实施例中,在上述步骤202对第一深度学习模型进行转换的过程中,还可进一步自行依据目标ai设备的ai设备信息对第一深度学习模型进行优化处理,以提升转换后得到的第二深度学习模型的计算性能。这里的优化处理可包括:将第一深度学习模型的拓扑图转换为目标ai设备可识别的结构图、优化第一深度学习模型的计算图、对第一深度学习模型的数据维度格式进行转换(转换后得到的第二深度学习模型的权值数据格式为nchw、nhwc、nchw_vec_c等)、计算指令离线生成等优化处理。
92.基于此,上述步骤203中第二深度学习模型的模型参数可包括:经由上述优化处理后对应的参数。比如:第二深度学习模型对应的模型权值数据格式;所述第二深度学习模型的模型类型,模型类型至少包括:用于指示第二深度学习模型为量化模型的量化类型;当第二深度学习模型的模型类型为量化类型时,第二深度学习模型对应的量化参数。可选地,这
里的量化参数可包括:量化位数(比如8bit、4bit、1bit等)、量化算法等,本实施例并不具体限定。
93.下面对步骤203中如何依据第二深度学习模型和用于描述第二深度学习模型的模型描述信息生成第一深度学习模型的目标深度学习模型进行举例描述:
94.参见图3,图3为本技术实施例提供的步骤203实现流程图。如图3所示,该流程可包括以下步骤:
95.步骤301,按照指定的模型管理协议对上述模型描述信息进行封装得到模型封装信息。
96.这里,模型管理协议可根据实际需求指定,本实施例并不具体限定。
97.为了便于对目标深度学习模型进行追溯,作为一个实施例,本步骤301还可进一步对上述模型转换信息进行封装。基于此,本步骤301可包括:按照指定的模型管理协议对上述模型描述信息和上述模型转换信息进行封装,得到上述模型封装信息。当然,为节省封装资源,本步骤301在封装时也可排除模型转换信息中的第一深度模型。即步骤301可包括:按照指定的模型管理协议对模型描述信息、以及模型转换信息中除第一深度模型之外的信息进行封装,得到上述模型封装信息。
98.步骤302,将模型封装信息加载在第二深度学习模型的指定位置。
99.在一个例子中,这里的指定位置可为第二深度学习模型的模型协议头部位置,也可为第二深度学习模型的末端位置等,本实施例并不具体限定。
100.作为一个扩展,这里的模型封装信息可通过json或者xml表示。
101.步骤303,将指定位置加载了模型封装信息的第二深度学习模型进行打包得到所述目标深度学习模型。
102.最终,通过图3所示流程,实现了依据第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
103.需要说明的是,在一个例子中,当生成上述目标深度学习模型后,为提升目标深度学习模型的安全性,可按照设定加密算法对目标深度学习模型进行加密并存储加密后的目标深度学习模型。这里,设定加密算法可根据实际需求设置,比如可为对称加密,非对称加密,单向加密,md5等,本实施例并不具体限定。
104.之后,在有需求时,用户可导出已存储的加密后的目标深度学习模型,并且借助解密工具对加密后的目标深度学习模型进行解密。基于解密后的目标深度学习模型可查看上述模型描述信息等,并基于查看的信息确定是否部署目标深度学习模型、是否升级目标深度学习模型等,本实施例并不具体限定。
105.至此,完成本实施例提供的方法描述。
106.下面对本实施例提供的系统和装置进行描述:
107.参见图4,图4为本实施例提供的系统结构图。如图4所示,该系统可包括:客户端401、网络模型管理服务器402、n个ai设备403,n大于等于1。
108.在一个例子中,客户端401面向客户,由用户通过控制客户端401发送待转换的第一深度学习模型的模型转换信息给网络模型管理服务器402,以使网络模型管理服务器402获取待转换的第一深度学习模型的模型转换信息。这里的模型转换信息如上所述,这里不再赘述。
109.在一个例子中,网络模型管理服务器402连接在客户端401和ai设备403之间。可选地,客户端401、ai设备403可通过网络连接网络模型管理服务器102。
110.在一个例子中,ai设备403可为应用于云端、端侧、边缘侧等不同应用场景的ai设备。可选地,应用于云端的ai设备可记为云端ai设备。应用于终端侧的ai设备,可记为终端侧ai设备。应用于网络边缘侧的ai设备可记为网络边缘侧ai设备。
111.网络模型管理服务器402可执行如图2所示流程,具体为:从客户端401获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息;所述目标ai设备为n个ai设备中待部署所述第一深度学习模型的ai设备,所述第一深度学习模型与所述目标ai设备不匹配;以及,
112.对所述第一深度学习模型进行转换,得到与所述目标ai设备的ai设备信息匹配的第二深度学习模型;依据所述第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
113.可选地,上述模型描述信息至少包括:用于运行所述第二深度学习模型进行深度学习推理的软件版本信息和/或所述第二深度学习模型的模型参数
114.在一个例子中,网络模型管理服务器402对第一深度学习模型进行转换可包括:将所述模型转换信息转发至所述ai设备信息对应的所述目标ai设备,以由目标ai设备通过已被配置的模型转换工具对所述第一深度学习模型进行转换。
115.在一个例子中,网络模型管理服务器402依据第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型包括:
116.按照指定的模型管理协议将所述模型描述信息进行封装得到模型封装信息;
117.将所述模型封装信息加载在所述第二深度学习模型的指定位置;
118.将指定位置加载了所述模型封装信息的第二深度学习模型进行打包得到所述目标深度学习模型。
119.在一个例子中,网络模型管理服务器402按照指定的模型管理协议对所述模型描述信息进行封装得到模型封装信息,包括:
120.按照指定的模型管理协议对所述模型描述信息和所述模型转换信息进行封装,得到所述模型封装信息;或者,
121.按照指定的模型管理协议对所述模型描述信息、以及所述模型转换信息中除所述第一深度模型之外的信息进行封装,得到所述模型封装信息。
122.在一个例子中,所述软件版本信息至少包括以下信息的至少一个:
123.用于利用所述第二深度学习模型进行深度学习推理的推理软件栈最低版本信息、用于利用所述第二深度学习模型进行深度学习推理的推理软件栈种类。
124.在一个例子中,所述模型参数至少包括以下参数中的至少一个:
125.所述第二深度学习模型对应的模型权值数据格式;
126.所述第二深度学习模型的模型类型;所述模型类型至少包括:用于指示所述第二深度学习模型为量化模型的量化类型;
127.当所述第二深度学习模型的模型类型为量化类型时,所述第二深度学习模型对应的量化参数。
128.在一个例子中,网络模型管理服务器402可进一步包括:
129.按照设定加密算法对所述目标深度学习模型进行加密并存储加密后的目标深度学习模型。
130.以上对本技术实施例提供的系统进行描述。下面对本技术实施例提供的装置进行描述:
131.参见图5,图5为本技术实施例提供的装置结构图。该装置应用于网络模型管理服务器,可包括:
132.获取单元,用于获取待转换的第一深度学习模型的模型转换信息,所述模型转换信息至少包括:第一深度学习模型、以及目标ai设备的ai设备信息;所述目标ai设备为待部署所述第一深度学习模型的ai设备,所述第一深度学习模型与所述目标ai设备不匹配;
133.第一处理单元,用于对所述第一深度学习模型进行转换,得到与所述目标ai设备匹配的第二深度学习模型;
134.第二处理单元,用于依据所述第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型。
135.可选地,所述模型描述信息至少包括:用于运行所述第二深度学习模型进行深度学习推理的软件版本信息和/或所述第二深度学习模型的模型参数。
136.作为一个实施例,所述第一处理单元对第一深度学习模型进行转换包括:
137.将所述模型转换信息转发至所述ai设备信息对应的所述目标ai设备,以由目标ai设备通过已被配置的模型转换工具对所述第一深度学习模型进行转换。
138.作为一个实施例,所述第二处理单元依据第二深度学习模型和用于描述所述第二深度学习模型的模型描述信息生成所述第一深度学习模型的目标深度学习模型包括:
139.按照指定的模型管理协议将所述模型描述信息进行封装得到模型封装信息;
140.将所述模型封装信息加载在所述第二深度学习模型的指定位置;
141.将指定位置加载了所述模型封装信息的第二深度学习模型进行打包得到所述目标深度学习模型。
142.可选地,所述第二处理单元按照指定的模型管理协议对所述模型描述信息进行封装得到模型封装信息,包括:
143.按照指定的模型管理协议对所述模型描述信息和所述模型转换信息进行封装,得到所述模型封装信息;或者,
144.按照指定的模型管理协议对所述模型描述信息、以及所述模型转换信息中除所述第一深度模型之外的信息进行封装,得到所述模型封装信息。
145.作为一个实施例,所述软件版本信息至少包括以下信息的至少一个:
146.用于利用所述第二深度学习模型进行深度学习推理的推理软件栈最低版本信息、用于利用所述第二深度学习模型进行深度学习推理的推理软件栈种类。
147.作为一个实施例,所述模型参数至少包括以下参数中的至少一个:
148.所述第二深度学习模型对应的模型权值数据格式;
149.所述第二深度学习模型的模型类型;所述模型类型至少包括:用于指示所述第二深度学习模型为量化模型的量化类型;
150.当所述第二深度学习模型的模型类型为量化类型时,所述第二深度学习模型对应的量化参数。
151.可选地,第二处理单元可进一步按照设定加密算法对所述目标深度学习模型进行加密并存储加密后的目标深度学习模型。
152.至此,完成图5所示装置的结构描述。
153.对应地,本技术还提供了图5所示装置的硬件结构。参见图6,该硬件结构可包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现本技术上述示例公开的方法。
154.基于与上述方法同样的申请构思,本技术实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本技术上述示例公开的方法。
155.示例性的,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
156.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
157.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
158.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
159.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
160.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
161.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机
或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
162.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献