CN112966825A - 基于python实现的多模型融合并行推理方法、装置及系统 - Google Patents

基于python实现的多模型融合并行推理方法、装置及系统 Download PDF

Info

Publication number
CN112966825A
CN112966825A CN202110392000.0A CN202110392000A CN112966825A CN 112966825 A CN112966825 A CN 112966825A CN 202110392000 A CN202110392000 A CN 202110392000A CN 112966825 A CN112966825 A CN 112966825A
Authority
CN
China
Prior art keywords
model
sub
total
reasoning
module
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.)
Granted
Application number
CN202110392000.0A
Other languages
English (en)
Other versions
CN112966825B (zh
Inventor
王璐威
吴彰鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Xinhe Shengshi Technology Co ltd
Original Assignee
Hangzhou Xinhe Shengshi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Xinhe Shengshi Technology Co ltd filed Critical Hangzhou Xinhe Shengshi Technology Co ltd
Priority to CN202110392000.0A priority Critical patent/CN112966825B/zh
Publication of CN112966825A publication Critical patent/CN112966825A/zh
Application granted granted Critical
Publication of CN112966825B publication Critical patent/CN112966825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种基于python实现的多模型融合并行推理方法,包括获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;将总模型加载至GPU中,并对融合后的总模型进行推理验证;定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。推理效率高,相较于多进程、多线程并行推理方法,本发明只在一个进程中运行,没有进程间、线程间的调度问题,效率更高。节约存储资源,将多个子模型融合为一个总模型,相较于多进程方法,本发明只需一份输入数据,节约了存储资源。

Description

基于python实现的多模型融合并行推理方法、装置及系统
技术领域
本发明涉及深度学习框架技术领域,尤其涉及一种基于python实现的多模型融合并行推理方法、装置及系统。
背景技术
多模型并行推理是深度学习领域的一项重要技术,通过充分利用GPU等硬件资源,尽可能提升模型的推理效率,缩短推理时间,在一些实时性要求高的应用场合十分必要。例如在自动驾驶领域,需要实时检测车道线,同时检测前方的车辆与行人。其中,车道线检测模型一般为图像分割网络,车辆与行人检测模型为目标检测网络,两者相对独立,但串行推理明显不适合。又如在互联网平台评论审核领域,若用户上传了图片,需同时识别图片本身内容和图片中的文字是否违反相关规定甚至违法。图片内容识别模型一般为图像分类或者目标检测网络,文字识别为OCR网络,两者相互独立,并行推理能加快审核速度。
在现有技术中,常用的多模型并行推理有多进程方式,其优点是技术成熟,但涉及到多进程间的调度会产生额外的时间开销即就是消耗的时间会变长,同时每个子进程也都需要一份独立的输入数据,这样也消耗了存储资源。现有技术中,其实多线程方式也能进行并行推理,并且可以共享一份输入数据,但是python语言由于全局解释锁GIL机制,因此,多线程并非真正意义上的并发执行,也就是说,由于调度开销以及存储资源的缘故,基于python语言实现的多线程目前还没有很好的执行。
发明内容
本发明针对现有技术中的缺点,提供了一种基于python实现的多模型融合并行推理方法、系统及装置。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种基于python实现的多模型融合并行推理方法,包括以下步骤:
获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
将总模型加载至GPU中,并对融合后的总模型进行推理验证;
定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
作为一种可实施方式,在将总模型的推理结果映射回子模型步骤后,还包括以下步骤:
对推理结束后的每个子模型采用多进程方法并行进行后处理。
作为一种可实施方式,所述将每个标准子模型融合成总模型,具体过程为:
获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
一种基于python实现的多模型融合并行推理系统,包括获取模块、融合模块、推理模块和映射模块;
所述获取模块,用于获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
所述融合模块,用于将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
所述推理模块,用于将总模型加载至GPU中,并对融合后的总模型进行推理验证;
所述映射模块,用于定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
作为一种可实施方式,还包括后处理模块,所述后处理模块被设置为:对推理结束后的每个子模型采用多进程方法并行进行后处理。
作为一种可实施方式,所述融合模块被设置为:
获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下的方法步骤:
获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
将总模型加载至GPU中,并对融合后的总模型进行推理验证;
定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
一种基于python实现的多模型融合并行推理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的方法步骤:
获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
将总模型加载至GPU中,并对融合后的总模型进行推理验证;
定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
本发明由于采用了以上技术方案,具有显著的技术效果:
推理效率高,相较于多进程、多线程并行推理方法,本发明只在一个进程中运行,没有进程间、线程间的调度问题,效率更高。
节约存储资源,由于将多个子模型融合为一个总模型,相较于多进程方法,本发明只需一份输入数据,节约了存储资源。
实现简单,多模型并行推理亦可在cuda底层编码实现,但需要较强的cuda编程知识。本发明基于python命令实现,简单易行,即便是深度学习初学者也容易上手使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程示意图;
图2是本发明系统的整体示意图;
图3是一具体实施例的流程示意图;
图4是子模型融合成总模型的示意图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
实施例1:
一种基于python实现的多模型融合并行推理方法,如图1所示,包括以下步骤:
S100、获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
S200、将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
S300、将总模型加载至GPU中,并对融合后的总模型进行推理验证;
S400、定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
通过以上的步骤,总模型的输入可为深度学习领域中的任一类型输入数据,如图片、视频流、文本等,输出为每个子模型的输出合集。
在一个实施例中,在将总模型的推理结果映射回子模型步骤后,还包括以下步骤:
S500、对推理结束后的每个子模型采用多进程方法并行进行后处理。
在一个实施例中,具体地,所述将每个标准子模型融合成总模型,具体过程为:
S210、获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
S220、获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
S230、定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
S240、基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
通过以上实施例结合附图3可以对本发明的方法做详细的阐释:
第一步:将多个异构模型转换成标准子模型;
由于不同任务的模型可能是在不同的深度学习框架生成的,如目标检测是pytorch模型,OCR识别是tensorflow模型,在融合为一个总模型前各子模型需要转换成统一的标准模型。
Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。此外,Nvidia公司推出的TensorRT工具支持各主流框架上训练的模型部署,且能极大的提高模型推断的速度,同时占用的设备内存也会更加的少。因此,可将各模型统一转换成ONNX模型或TensorRT模型。
需要说明的是,转换成ONNX模型或TensorRT模型并非绝对,也可以转换成某一深度学习框架下的模型。例如,待推理模型中4个是pytorch模型,1个是tensorflow模型,此时将tensorflow模型转换成pytorch模型将显著减少工作量。
第二步:将标准子模型融合成一个总模型;
生成一个新的总模型,其分支分别拷贝各子模型的结构和权重,即每条分支对应一个子模型。假设总模型由N+1个子模型融合而成,结合附图4来对此实施例做详细的阐述。
由于不同格式的总模型具体生成方式不尽相同,这里仅以pytorch模型为例,详细说明其生成过程。
(1)获取每个子模型的模块单元,也即子模型类中的成员变量。例如,假设submodel_0为图像分类模型VGG,则其由features、avgpool_vgg和classifier 3个大的模块单元组成。
(2)对模块单元重命名,在原名称前加子模型名称作为前缀。例如,对步骤(1)中的VGG模型,各模块重命名为vgg_features、vgg_avgpool、vgg_classifier。由于融合生成总模型时,各个子模型中有的模块可能会重名,因此通过重命名解决名称冲突问题。
(3)获取子模型的权重字典,并在key前加子模型名称作为前缀。例如:
temp_state_dict=torch.load('vgg.pth')
vgg_state_dict={}
for k,v in temp_state_dict.items():
vgg_state_dict['vgg'+k]=v
(4)定义融合后的总模型FusedModel类。其类成员变量为各子模型类的成员变量的合集,forward函数为各子模型forward函数的逻辑合并。
(5)加载模型权重。将子模型的权重字典合并成总模型的权重字典,并加载至总模型类实例化对象。例如:
fusedmodel_state_dict={}
fusedmodel=FusedModel(*args,**kwargs)
for i in range(N+1):
fusedmodel_state_dict.update(submodel_str(i)_state_dict)
fusedmodel.load_state_dict(fusedmodel_state_dict)
第三步:对融合后的总模型进行推理;
将融合后的总模型加载至GPU,利用CUDA进行推理。如果有多块GPU卡,也可进行多卡并行推理。
第四步:将总模型的推理结果映射回子模型;
定义的总模型输出为各子模型输出组成的列表,因此可通过列表索引将总模型的推理结果映射回子模型的推理结果,即:
output_i=submodel_i(input)=output[i]
在其他实施例中,还可能存在第五步:多进程并行后处理;
有些子模型推理结束后还需要进行后处理操作,如目标检测Faster RCNN模型需要对输出的检测框进行非极大值抑制(Non-Maximum Suppression,NMS)。这里采用多进程技术进行并行后处理操作,如果运行在GPU上,还可以利用英伟达公司提供的多进程服务(Multi-process Service,MPS)进一步加速。
推理效率高,相较于多进程、多线程并行推理方法,本发明只在一个进程中运行,没有进程间、线程间的调度问题,效率更高。
节约存储资源,由于将多个子模型融合为一个总模型,相较于多进程方法,本发明只需一份输入数据,节约了存储资源。
实施例2:
一种基于python实现的多模型融合并行推理系统,如图2所示,包括获取模块100、融合模块200、推理模块300和映射模块400;
所述获取模块100,用于获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
所述融合模块200,用于将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
所述推理模块300,用于将总模型加载至GPU中,并对融合后的总模型进行推理验证;
所述映射模块400,用于定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
在一个实施例中,还包括后处理模块500,所述后处理模块500被设置为:对推理结束后的每个子模型采用多进程方法并行进行后处理。
在一个实施例中,所述融合模块200被设置为:
获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
实施例3:
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下的方法步骤:
S100、获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
S200、将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
S300、将总模型加载至GPU中,并对融合后的总模型进行推理验证;
S400、定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
在一个实施例中,处理器执行计算机程序时,实现在将总模型的推理结果映射回子模型步骤后,还包括以下步骤:
S500、对推理结束后的每个子模型采用多进程方法并行进行后处理。
在一个实施例中,处理器执行计算机程序时,实现所述将每个标准子模型融合成总模型,具体过程为:
S210、获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
S220、获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
S230、定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
S240、基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
实施例4:
在一个实施例中,提供了一种基于python实现的多模型融合并行推理装置,该基于python实现的多模型融合并行推理可以是服务器也可以是移动终端。该基于python实现的多模型融合并行推理装置包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该基于python实现的多模型融合并行推理装置的处理器用于提供计算和控制能力。该基于python实现的多模型融合并行推理装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该数据库存储基于python实现的多模型融合并行推理装置的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现基于python实现的多模型融合并行推理的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是:
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (8)

1.一种基于python实现的多模型融合并行推理方法,其特征在于,包括以下步骤:
获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
将总模型加载至GPU中,并对融合后的总模型进行推理验证;
定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
2.根据权利要求1所述的基于python实现的多模型融合并行推理方法,其特征在于,在将总模型的推理结果映射回子模型步骤后,还包括以下步骤:
对推理结束后的每个子模型采用多进程方法并行进行后处理。
3.根据权利要求1所述的基于python实现的多模型融合并行推理方法,其特征在于,所述将每个标准子模型融合成总模型,具体过程为:
获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
4.一种基于python实现的多模型融合并行推理系统,其特征在于,包括获取模块、融合模块、推理模块和映射模块;
所述获取模块,用于获取参与推理的多个异构模型,将多个异构模型按照预设规则转换成标准子模型;
所述融合模块,用于将每个子模型的结构和权重字典与总模型的每条分支相互对应,基于每个子模型的结构和权重字典将每个标准子模型融合成总模型;
所述推理模块,用于将总模型加载至GPU中,并对融合后的总模型进行推理验证;
所述映射模块,用于定义总模型的输出为每个子模型的输出组成的列表,通过列表索引将总模型的推理结果映射回子模型。
5.根据权利要求4所述的基于python实现的多模型融合并行推理系统,其特征在于,还包括后处理模块,所述后处理模块被设置为:对推理结束后的每个子模型采用多进程方法并行进行后处理。
6.根据权利要求4所述的基于python实现的多模型融合并行推理系统,其特征在于,所述融合模块被设置为:
获取每个子模块的模块单元,并对所述模块单元重命名,并使得每个模块单元的名称不重复;
获取每个子模型的权重字典,并在权重字典前加子模型单元的名称将其作为前缀;
定义总模型FusedModel类成员,其中,所述FusedModel类成员包括变量和forward函数,所述变量为每个子模型类的成员变量的合集,所述forward函数为将每个子模型中forward函数通过预设的逻辑进行合并;
基于定义好的FusedModel类成员对总模型进行加载模型权重,将每个子模型的权重字典进行合并形成总模型的权重字典,并加载至总模型类实例化对象,进而得到融合后的总模型。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任意一项所述的方法步骤。
8.一种基于python实现的多模型融合并行推理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任意一项所述的方法步骤。
CN202110392000.0A 2021-04-13 2021-04-13 基于python实现的多模型融合并行推理方法、装置及系统 Active CN112966825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110392000.0A CN112966825B (zh) 2021-04-13 2021-04-13 基于python实现的多模型融合并行推理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110392000.0A CN112966825B (zh) 2021-04-13 2021-04-13 基于python实现的多模型融合并行推理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN112966825A true CN112966825A (zh) 2021-06-15
CN112966825B CN112966825B (zh) 2023-05-23

Family

ID=76279881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110392000.0A Active CN112966825B (zh) 2021-04-13 2021-04-13 基于python实现的多模型融合并行推理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112966825B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492059A (zh) * 2019-01-03 2019-03-19 北京理工大学 一种多源异构数据融合与模型修正过程管控方法
CN111124708A (zh) * 2019-12-10 2020-05-08 广州小鹏汽车科技有限公司 面向微服务的批推理方法、服务器和计算机可读存储介质
CN111523670A (zh) * 2020-04-17 2020-08-11 苏州浪潮智能科技有限公司 一种提高深度学习推理设备利用率的批量推理方法、装置和介质
CN111814967A (zh) * 2020-09-11 2020-10-23 鹏城实验室 神经网络模型的推理运算量计算方法、设备及存储介质
CN111832036A (zh) * 2019-07-16 2020-10-27 北京骑胜科技有限公司 数据处理方法、装置、存储介质和电子设备
CN112015470A (zh) * 2020-09-09 2020-12-01 平安科技(深圳)有限公司 模型部署方法、装置、设备及存储介质
CN112101529A (zh) * 2020-10-14 2020-12-18 杭州海康威视数字技术股份有限公司 一种用于神经网络模型推理跨平台的部署方法及架构
CN112418427A (zh) * 2020-11-25 2021-02-26 广州虎牙科技有限公司 深度学习的统一推理服务的提供方法、装置、系统及设备
CN112418446A (zh) * 2020-11-18 2021-02-26 脸萌有限公司 模型处理方法、系统、装置、介质及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109492059A (zh) * 2019-01-03 2019-03-19 北京理工大学 一种多源异构数据融合与模型修正过程管控方法
CN111832036A (zh) * 2019-07-16 2020-10-27 北京骑胜科技有限公司 数据处理方法、装置、存储介质和电子设备
CN111124708A (zh) * 2019-12-10 2020-05-08 广州小鹏汽车科技有限公司 面向微服务的批推理方法、服务器和计算机可读存储介质
CN111523670A (zh) * 2020-04-17 2020-08-11 苏州浪潮智能科技有限公司 一种提高深度学习推理设备利用率的批量推理方法、装置和介质
CN112015470A (zh) * 2020-09-09 2020-12-01 平安科技(深圳)有限公司 模型部署方法、装置、设备及存储介质
CN111814967A (zh) * 2020-09-11 2020-10-23 鹏城实验室 神经网络模型的推理运算量计算方法、设备及存储介质
CN112101529A (zh) * 2020-10-14 2020-12-18 杭州海康威视数字技术股份有限公司 一种用于神经网络模型推理跨平台的部署方法及架构
CN112418446A (zh) * 2020-11-18 2021-02-26 脸萌有限公司 模型处理方法、系统、装置、介质及电子设备
CN112418427A (zh) * 2020-11-25 2021-02-26 广州虎牙科技有限公司 深度学习的统一推理服务的提供方法、装置、系统及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JOO SEONG JEONG 等: "Accelerating Multi-Model Inference by Merging DNNs of Different Weights", 《ARXIV:2009.13062V1 [CS.LG]》 *
孙胜等: "面向异构IoT设备协作的DNN推断加速研究", 《计算机研究与发展》 *
孟伟等: "深度学习推理侧模型优化架构探索", 《信息通信技术与政策》 *

Also Published As

Publication number Publication date
CN112966825B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN111651207B (zh) 一种神经网络模型运算芯片、方法、装置、设备及介质
CN110750298B (zh) 一种ai模型编译方法、设备及存储介质
CN114118417A (zh) 一种多模态预训练方法、装置、设备及介质
CN115222950A (zh) 一种面向嵌入式平台的轻量化目标检测方法
CN111538825A (zh) 知识问答方法、装置、系统、设备及存储介质
CN112148926A (zh) 一种图数据流的处理方法、处理装置和存储介质
CN116644168A (zh) 一种交互数据构建方法、装置、设备及存储介质
CN115358401A (zh) 一种推理服务的处理方法、装置、计算机设备及存储介质
CN111524043A (zh) 诉讼风险评估问卷自动生成的方法和装置
CN116821307B (zh) 内容交互方法、装置、电子设备和存储介质
CN116912629A (zh) 基于多任务学习的通用图像文字描述生成方法及相关装置
CN112966825B (zh) 基于python实现的多模型融合并行推理方法、装置及系统
CN116560666A (zh) 基于多层级代码生成的ai前端统一计算方法、装置及介质
KR102275763B1 (ko) 딥러닝 모델로부터 딥러닝 어플리케이션을 자동으로 생성하는 방법 및 시스템
CN115794137A (zh) 面向gpu的人工智能模型部署方法及设备
Tiwari et al. NCS based ultra low power optimized machine learning techniques for image classification
CN114723398A (zh) 舞台创意编排方法、舞台创意编排装置和电子设备
CN113570061A (zh) 一种多模型融合推理方法
CN114676705A (zh) 一种对话关系处理方法、计算机及可读存储介质
CN115269767A (zh) 模型训练方法、装置和存储介质
CN114116975A (zh) 一种多意图识别方法及系统
CN114626284A (zh) 一种模型处理方法及相关装置
CN113840169A (zh) 一种视频处理方法、装置、计算设备和存储介质
CN113033337A (zh) 基于TensorRT的行人重识别方法及装置
da Silva Carvalho et al. Real-time image recognition system based on an embedded heterogeneous computer and deep convolutional neural networks for deployment in constrained environments

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
GR01 Patent grant
GR01 Patent grant