WO2022000802A1 - 深度学习模型的适配方法、装置及电子设备 - Google Patents

深度学习模型的适配方法、装置及电子设备 Download PDF

Info

Publication number
WO2022000802A1
WO2022000802A1 PCT/CN2020/115660 CN2020115660W WO2022000802A1 WO 2022000802 A1 WO2022000802 A1 WO 2022000802A1 CN 2020115660 W CN2020115660 W CN 2020115660W WO 2022000802 A1 WO2022000802 A1 WO 2022000802A1
Authority
WO
WIPO (PCT)
Prior art keywords
conversion
model
deep learning
target
learning model
Prior art date
Application number
PCT/CN2020/115660
Other languages
English (en)
French (fr)
Inventor
吴拓邦
施恩
谢永康
陈晓宇
张亮伙
刘杰
徐彬彬
Original Assignee
北京百度网讯科技有限公司
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 北京百度网讯科技有限公司 filed Critical 北京百度网讯科技有限公司
Priority to JP2021562306A priority Critical patent/JP7300005B2/ja
Priority to US17/604,670 priority patent/US20220309395A1/en
Priority to KR1020217033450A priority patent/KR20210132719A/ko
Priority to EP20930649.7A priority patent/EP3958183A4/en
Publication of WO2022000802A1 publication Critical patent/WO2022000802A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Definitions

  • Step 103 convert the original deep learning model to an intermediate deep learning model in the conversion path, and convert the intermediate deep learning model to the target deep learning model.
  • the overlapping parts in the at least two candidate transformation paths may be combined to obtain the target transformation path.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)

Abstract

一种深度学习模型的适配方法、装置、电子设备及介质,涉及人工智能、深度学习、云计算技术领域。具体为:在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息确定的模型转换路径,进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。

Description

深度学习模型的适配方法、装置及电子设备
相关申请的交叉引用
本公开要求北京百度网讯科技有限公司于2020年6月29日提交的、发明名称为“深度学习模型的适配方法、装置及电子设备”的、中国专利申请号“202010601781.5”的优先权。
技术领域
本公开涉及计算机技术领域,具体涉及人工智能、深度学习、云计算技术领域,尤其涉及一种深度学习模型的适配方法、装置、电子设备及存储介质。
背景技术
目前,以神经网络为代表的深度学习正在产业界得到广泛的落地和应用,基于大规模深度学习模型部署的需求,衍生出各种类型的人工智能(Artificial Intelligence,简称AI)推理加速芯片。但是,各种类型的AI推理加速芯片的形态不一,算力不等,应用场景也各式各样。
因此,如何将各种框架下的深度学习模型与AI推理加速芯片进行适配,是亟需解决的技术问题。
发明内容
本公开提供了一种深度学习模型的适配方法、装置、电子设备以及存储介质。
本公开第一方面实施例提供了一种深度学习模型的适配方法,包括:
获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;
根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径;
根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。
本公开第二方面实施例提供了一种深度学习模型的适配装置,包括:
获取模块,用于获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;
查询模块,用于根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹 配的目标转换路径;
转换模块,用于根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。
本公开第三方面实施例提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例的深度学习模型的适配方法。
本公开第四方面实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例的深度学习模型的适配方法。
上述申请中的一个实施例具有如下优点或有益效果:通过基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例一提供的深度学习模型的适配方法的流程示意图;
图2为本公开实施例二提供的模型转换的子流程示意图;
图3为本公开实施例三提供的生成目标转换路径的子流程示意图;
图4为本公开实施例四提供的深度学习模型的适配装置的结构示意图;
图5是用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和 精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的深度学习模型的适配方法、装置、电子设备以及存储介质。
图1为本公开实施例一提供的深度学习模型的适配方法的流程示意图。
本公开实施例以该深度学习模型的适配方法被配置于深度学习模型的适配装置中来举例说明,该深度学习模型的适配装置可以应用于任一电子设备中,以使该电子设备可以执行深度学习模型的适配功能。
其中,电子设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统的硬件设备。
如图1所示,该深度学习模型的适配方法,可以包括以下步骤:
步骤101,获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息。
其中,原始深度学习模型,是指待转换的包含深度神经网络结构的机器学习模型。深度学习模型的模型信息,可以包括深度学习模型的训练框架、深度学习模型的网络类型、深度学习模型的模型结构信息、深度学习模型的模型文件,等等。
例如,深度学习模型的训练框架,可以为开放源代码软件库的框架(如TensorFlow框架)、PyTorch框架、深度学习框架(Convolutional Architecture for Fast Feature Embedding,简称Caffe)、并行分布式深度学习框架(Parallel Distributed Deep Learning,PaddlePaddle)等等。
深度学习模型的网络类型,可以为所有主流分类、检测及分割神经网络。例如,网络类型可以为深层的卷积神经网络(如AlexNet)、基于深度可分解卷积的模型(如MobileNet)、用于目标检测的网络模型(Regions with CNN features,简称RCNN)等等。
深度学习模型的模型结构信息,可以为深度学习模型所包含的基本结构,例如,可以包括全连接层、循环结构、卷积层/池化层等等。
深度学习模型的模型文件,可以为算法工程师使用某种深度学习框架构建好模型,经调参和训练优化后,将最终生成的网络参数和模型结构一并保存,得到的文件。不同深度学习框架训练得到的模型文件的格式不尽相同,但完整的模型文件一般都包含了张量数据、运算单元和计算图等信息。
可以理解的是,人工智能硬件都只能运行满足自身要求的深度学习模型,因此需适配的目标硬件的硬件信息不同时,对应的可以运行的深度学习模型并不相同。
可选地,需适配的目标硬件的硬件信息,可以为需适配的目标硬件类型,例如, 英特尔中央处理器(Intel Central Processing Unit/Processor,简称Intel CPU)、ARM处理器、海思处理器等等。
需要说明的是,需适配的目标硬件可以为任意的目前市面上的主流人工智能硬件,在此不做限定。
在一种可能的情况下,需适配的目标硬件不限于一个,也可以为两个或多个,此时,需适配的目标硬件的硬件信息包含有所有目标硬件的硬件信息。
步骤102,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径。
其中,转换路径表,可以指根据任意两个深度学习模型的模型训练框架、网络类型、模型文件等、以及需适配的目标硬件的硬件信息,预先配置的转换路径。转换路径表中可以包含有任意类型的深度学习模型的训练框架、网络类型、模型文件,以及需适配的目标硬件的转换路径。
目标转换路径,是指转换路径表中与原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息匹配的转换路径。
本公开实施例中,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,可以根据模型信息和硬件信息,从转换路径表中查询到匹配的目标转换路径。
作为一种示例,假设需要将由PaddlePaddle训练框架训练出来的原始深度学习模型MobileNetV1模型,转换到在Intel CPU上执行的深度学习模型时,根据MobileNetV1模型的模型信息,以及需适配的目标硬件,查询转换路径表,可以得到匹配的目标转换路径:Paddle model→caffe model→optimize model→dldt model(适用于Intel CPU)。
步骤103,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。
可以理解的是,将原始深度学习模型转换至目标深度学习模型的转换过程,可能需要多次模型转换,才能得到适配的目标硬件能够执行的深度学习模型。
本公开中,确定原始深度学习模型转换至目标深度学习模型的目标转换路径后,可以根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,进而,将中间深度学习模型转换至目标深度学习模型。
在一种可能的情况下,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型仅为一个,可以首先根据目标转换路径将原始深度学习模型转换为中间深度学习模型,进而将中间深度学习模型转换至目标深度学习模型。
在另一种可能的情况下,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型可以为多个。
作为一种示例,假设目标转换路径为:Paddle model→caffe model→optimize model→dldt model(适用于Intel CPU),则可以根据目标转换路径,将原始深度学习模型Paddle模型转换为中间深度学习模型caffe模型,进而将中间深度学习模型caffe模型转换为中间深度学习模型optimize模型,将中间深度学习模型optimize模型转换至适配于Intel CPU的目标深度学习模型dldt模型。
本公开实施例的深度学习模型的适配方法,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,进而,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。
在上述实施例的基础上,在一种可能的情况下,在上述步骤103中根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型可以为多个,此时,目标转换路径可以用于指示多个中间深度学习模型的转换顺序。在根据目标转换路径进行模型转换时,可以根据多个中间深度学习模型的转换顺序,执行各次模型转换的转换任务,以实现将原始深度学习模型转换至适配于目标硬件的目标深度学习模型,从而实现了任意类型的模型转换。下面结合图2进行详细介绍,图2为本公开实施例二提供的模型转换的子流程示意图。
如图2所示,上述步骤103还可以包括以下步骤:
步骤201,根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。
需要说明的是,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型为多个时,目标转换路径中包含有多个中间深度学习模型的转换顺序。
本公开实施例中,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型为多个时,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。
作为一种示例,假设目标转换路径为:Paddle model→caffe model→optimize model→dldt model,可见,中间深度学习模型为两个,在根据目标转换路径将原始深度学习模型转换为目标深度学习模型的过程中,首先,根据目标转换路径中多个中间深度学习模型的转换顺序,确定第一次模型转换的转换前模型和转换后模型分别为Paddle模型和caffe模型,继续,确定第二次模型转换的转换前模型和转换后模型分别为caffe模型和optimize模型,进而,确定第三次模型转换的转换前模型和转换后模型分别为optimize模型和dldt模型。由此,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。
步骤202,根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务。
本公开实施例中,确定每一次模型转换的转换前模型和转换后模型后,可以确定每一次模型转换的转换前模型和转换后模型之间的映射关系,进而,可以根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务。
继续以步骤201中的示例为例,假设目标转换路径为:Paddle model→caffe model→optimize model→dldt model,则可以生成三次模型转换的转换任务,分别为:转换任务一,Paddle model→caffe model;转换任务二,caffe model→optimize model;转换任务三,optimize model→dldt model。
作为一种可能的实现方式,对每一次模型转换的转换前模型和转换后模型,可以查询算子映射关系、张量映射关系和模型参数映射关系中的至少一个,以根据算子映射关系、张量映射关系和模型参数映射关系中的至少一个,生成各次模型转换的转换任务。由此,可以通过执行各次模型转换的转换任务,得到目标深度学习模型。
其中,每一次模型转换的转换前模型和转换后模型的模型算子可能并不相同,或者模型算子的对齐方式不同,因此,可以查询算子映射关系,以确定转换前模型和转换后模型的算子映射关系。
张量是所有深度学习框架中最核心的组件,其实际上就是一个多维数组,其目的是能够创造更高维度的矩阵、向量。模型参数可以包括各卷积层的参数,例如参数个数,参数所占空间等等。
步骤203,根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到目标深度学习模型。
本公开实施例中,根据目标转换路径中多个中间深度学习模型的转换顺序,确定各次模型转换的执行顺序后,可以根据各次模型转换的执行顺序,对原始深度学习模 型顺序执行各次模型转换的转换任务,以得到适配于目标硬件的目标深度学习模型。
继续以上述示例为例,根据目标转换路径确定从原始深度学习模型转换为目标深度学习模型时,需顺序执行的各次模型转换的转换任务分别为:转换任务一,Paddle model→caffe model;转换任务二,caffe model→optimize model;转换任务三,optimize model→dldt model。进而,顺序执行该三次模型转换的转换任务,从而得到适配于Intel CPU的目标深度学习模型。
本公开实施例中,在根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型的过程中,当中间深度学习模型为多个时,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定各次模型转换的执行顺序,进一步地,根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到适配于目标硬件的目标深度学习模型。相较于现有的深度学习模型转换时仅能实现一次模型转换任务,本公开中实现了模型转换过程中存在多次模型转换任务,从而可以实现任意模型的转换,实现了深度学习模型可以适配于任意硬件的目的。
在实际应用场景中,可能存在将原始深度学习模型转换为适配于多个目标硬件的情况,也就是说目标硬件为至少两个,这种情况下,在上述步骤102中生成的目标转换路径也为至少两条路径,从而可以根据至少两个目标转换路径,将原始深度学习模型转换为适配于至少两个目标硬件的至少两个目标深度学习模型。下面结合图3进行详细介绍,图3为本公开实施例三提供的生成目标转换路径的子流程示意图。
如图3所示,上述步骤102还可以包括以下子步骤:
步骤301,将每一个目标硬件的硬件信息分别与模型信息组合,以得到至少两个组合信息。
在一种可能的情况下,原始深度学习模型需适配的目标硬件为至少两个,可以在获取到每一个目标硬件的硬件信息后,将每一个目标硬件的硬件信息分别与原始深度学习模型的模型信息组合,以得到至少两个组合信息。
其中,原始深度学习模型的模型信息,可以包括模型结构信息和训练框架信息。由此,可以根据原始深度学习模型的模型结构信息和训练框架信息,分别与每一个目标硬件的硬件信息组合,以得到至少两个组合信息。
作为一种示例,假设目标硬件为两个,分别为硬件A和硬件B,则可以分别将原始深度学习模型的模型信息与硬件A和硬件B的硬件信息进行组合,从而可以得到两个组合信息。
步骤302,根据至少两个组合信息查询转换路径表,得到至少两条候选转换路径。
其中,每一条候选转换路径与对应的一个组合信息匹配。
可以理解的是,至少两个目标硬件的硬件信息并不相同,因此,得到至少两个组合信息后,根据至少两个组合信息查询转换路径表,可以得到至少两条候选转换路径,并且,每一条候选转换路径与对应的一个组合信息匹配。
作为一种示例,假设原始深度学习模型可以为Paddle模型,需要将PaddlePaddle训练出来的MobileNetV1模型,转换到在Intel CPU以及海思昇腾910芯片上执行的深度学习模型,确定两个目标硬件对应的组合信息后,根据两个组合信息查询转换路径表,可以得到两条候选转换路径分别为:
路径1、Paddle model→caffe model→optimize model→dldt model(适配于Intel CPU);
路径2、Paddle model→caffe model→optimize model→atlas model(适配于海思昇腾910)。
步骤303,根据至少两条候选转换路径,生成目标转换路径。
本公开实施例中,在原始深度学习模型需适配的目标硬件为至少两个时,确定至少两条候选转换路径后,可以根据至少两条候选转换路径,生成,目标转换路径。
在一种可能的情况下,假设至少两条候选转换路径中没有重合的转换任务,则可以将至少两条候选转换路径作为目标转换路径,分别对原始深度学习模型进行转换,以得到适配于至少两个目标硬件的目标深度学习模型。
在另一种可能的情况下,假设至少两条候选转换路径中存在重合部分,则可以对至少两条候选转换路径中的重合部分进行合并,以得到目标转换路径。
例如上述步骤302中的示例,两条候选转换路径中存在重合部分为:Paddle model→caffe model→optimize model,则可以将该两条候选转换路径中的重合部分进行合并,以得到合并后的目标转换路径如下:
Figure PCTCN2020115660-appb-000001
由此,在至少两条候选转换路径中存在重合部分时,可以对至少两条候选转换路径中的重合部分进行合并,以实现对至少两条候选转换路径的优化,从而可以根据优化得到的目标转换路径快速生成适配于至少两个目标硬件的目标深度学习模型。
可见,在目标硬件为至少两个时,可以将每一个目标硬件的硬件信息与模型信息组合,以得到至少两个组合信息,根据至少两个组合信息查询转换路径表,得到至少两条候选转换路径,进而,根据至少两条候选转换路径,生成目标转换路径。由此,在原始深度学习模型需适配的目标硬件为多个时,可以根据目标转换路径快速生成适 配于至少两个目标硬件的目标深度学习模型,从而提高了模型转换的速率。
为了实现上述实施例,本公开提出了一种深度学习模型的适配装置。
图4为本公开实施例四提供的深度学习模型的适配装置的结构示意图。
如图4所示,该深度学习模型的适配装置400,可以包括:获取模块410、查询模块420以及转换模块430。
其中,获取模块410,用于获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息。
查询模块420,用于根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径。
转换模块430,用于根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。
作为一种可能的情况,中间深度学习模型为多个,目标转换路径用于指示多个中间深度学习模型的转换顺序;转换模块430,可以包括:
确定单元,用于根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。
生成单元,用于根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务。
执行单元,用于根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到目标深度学习模型。
作为另一种可能的情况,生成单元,还可以用于:
对每一次模型转换的转换前模型和转换后模型,查询算子映射关系、张量映射关系和模型参数映射关系中的至少一个;
根据算子映射关系、张量映射关系和模型参数映射关系中的至少一个,生成各次模型转换的转换任务。
作为另一种可能的情况,目标硬件为至少两个,查询模块420,可以包括:
组合单元,用于将每一个目标硬件的硬件信息分别与模型信息组合,以得到至少两个组合信息。
查询单元,用于根据至少两个组合信息查询转换路径表,得到至少两条候选转换路径,其中,每一条候选转换路径与对应的一个组合信息匹配。
路径生成单元,用于根据至少两条候选转换路径,生成目标转换路径。
作为另一种可能的情况,路径生成单元,还可以用于:
确定至少两条候选转换路径中的重合部分;
对至少两条候选转换路径中的重合部分进行合并,以得到目标转换路径。
作为另一种可能的情况,模型信息可以包括模型结构信息和训练框架信息。
需要说明的是,前述对深度学习模型的适配方法实施例的解释说明也适用于该实施例的深度学习模型的适配装置,此处不再赘述。
本公开实施例的深度学习模型的适配装置,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,进而,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。
为了实现上述实施例,本公开提出了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例所述的深度学习模型的适配方法。
为了实现上述实施例,本公开提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述实施例所述的深度学习模型的适配方法
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
如图5所示,是根据本公开实施例的深度学习模型的适配方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸 如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器501为例。
存储器502即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的深度学习模型的适配方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的深度学习模型的适配方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的深度学习模型的适配方法对应的程序指令/模块(例如,附图4所示的获取模块410、查询模块420以及转换模块430)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的深度学习模型的适配方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这 些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本公开实施例的技术方案,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,进而,根据目标转换路径,将原始深度学习模型转换为转换路 径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (14)

  1. 一种深度学习模型的适配方法,包括:
    获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;
    根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径;
    根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。
  2. 根据权利要求1所述的适配方法,其中,所述中间深度学习模型为多个,所述目标转换路径用于指示多个所述中间深度学习模型的转换顺序;
    所述根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型,包括:
    根据所述目标转换路径中多个所述中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序;
    根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务;
    根据所述各次模型转换的执行顺序,对所述原始深度学习模型顺序执行所述各次模型转换的转换任务,以得到所述目标深度学习模型。
  3. 根据权利要求2所述的适配方法,其中,所述根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务,包括:
    对每一次模型转换的转换前模型和转换后模型,查询算子映射关系、张量映射关系和模型参数映射关系中的至少一个;
    根据所述算子映射关系、张量映射关系和模型参数映射关系中的至少一个,生成各次模型转换的转换任务。
  4. 根据权利要求1-3任一项所述的适配方法,其中,所述目标硬件为至少两个,则所述根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径,包括:
    将每一个目标硬件的硬件信息分别与所述模型信息组合,以得到至少两个组合信 息;
    根据至少两个组合信息查询所述转换路径表,得到至少两条候选转换路径,其中,每一条候选转换路径与对应的一个所述组合信息匹配;
    根据所述至少两条候选转换路径,生成所述目标转换路径。
  5. 根据权利要求4所述的适配方法,其中,所述根据所述至少两条候选转换路径,生成所述目标转换路径,包括:
    确定所述至少两条候选转换路径中的重合部分;
    对所述至少两条候选转换路径中的重合部分进行合并,以得到所述目标转换路径。
  6. 根据权利要求1-5任一项所述的适配方法,其中,所述模型信息包括模型结构信息和训练框架信息。
  7. 一种深度学习模型的适配装置,包括:
    获取模块,用于获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;
    查询模块,用于根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径;
    转换模块,用于根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。
  8. 根据权利要求7所述的适配装置,其中,所述中间深度学习模型为多个,所述目标转换路径用于指示多个所述中间深度学习模型的转换顺序;所述转换模块,包括:
    确定单元,用于根据所述目标转换路径中多个所述中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序;
    生成单元,用于根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务;
    执行单元,用于根据所述各次模型转换的执行顺序,对所述原始深度学习模型顺序执行所述各次模型转换的转换任务,以得到所述目标深度学习模型。
  9. 根据权利要求8所述的适配装置,其中,所述生成单元,还用于:
    对每一次模型转换的转换前模型和转换后模型,查询算子映射关系、张量映射关系和模型参数映射关系中的至少一个;
    根据所述算子映射关系、张量映射关系和模型参数映射关系中的至少一个,生成各次模型转换的转换任务。
  10. 根据权利要求7-9任一项所述的适配装置,其中,所述目标硬件为至少两个,所述查询模块,包括:
    组合单元,用于将每一个目标硬件的硬件信息分别与所述模型信息组合,以得到至少两个组合信息;
    查询单元,用于根据至少两个组合信息查询所述转换路径表,得到至少两条候选转换路径,其中,每一条候选转换路径与对应的一个所述组合信息匹配;
    路径生成单元,用于根据所述至少两条候选转换路径,生成所述目标转换路径。
  11. 根据权利要求10所述的适配装置,其中,所述路径生成单元,还用于:
    确定所述至少两条候选转换路径中的重合部分;
    对所述至少两条候选转换路径中的重合部分进行合并,以得到所述目标转换路径。
  12. 根据权利要求7-11任一项所述的适配装置,其中,所述模型信息包括模型结构信息和训练框架信息。
  13. 一种电子设备,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的深度学习模型的适配方法。
  14. 一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的深度学习模型的适配方法。
PCT/CN2020/115660 2020-06-29 2020-09-16 深度学习模型的适配方法、装置及电子设备 WO2022000802A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021562306A JP7300005B2 (ja) 2020-06-29 2020-09-16 深層学習モデルの適応方法、装置及び電子機器
US17/604,670 US20220309395A1 (en) 2020-06-29 2020-09-16 Method and apparatus for adapting deep learning model, and electronic device
KR1020217033450A KR20210132719A (ko) 2020-06-29 2020-09-16 딥 러닝 모델의 적응 방법, 장치 및 전자 기기
EP20930649.7A EP3958183A4 (en) 2020-06-29 2020-09-16 DEEP LEARNING MODEL ADAPTATION METHOD AND APPARATUS AND ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010601781.5 2020-06-29
CN202010601781.5A CN111967568B (zh) 2020-06-29 2020-06-29 深度学习模型的适配方法、装置及电子设备

Publications (1)

Publication Number Publication Date
WO2022000802A1 true WO2022000802A1 (zh) 2022-01-06

Family

ID=73360946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/115660 WO2022000802A1 (zh) 2020-06-29 2020-09-16 深度学习模型的适配方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN111967568B (zh)
WO (1) WO2022000802A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881223B (zh) * 2020-12-18 2023-04-18 北京百度网讯科技有限公司 深度学习模型的转换方法、装置、电子设备和存储介质
CN112633502B (zh) * 2020-12-29 2022-03-22 北京百度网讯科技有限公司 一种深度学习模型的跨平台执行方法、装置及电子设备
CN112819153B (zh) * 2020-12-31 2023-02-07 杭州海康威视数字技术股份有限公司 一种模型转化方法及装置
CN112966824A (zh) * 2021-01-28 2021-06-15 北京百度网讯科技有限公司 推理库的部署方法、装置和电子设备
CN112862109B (zh) * 2021-02-09 2024-05-24 上海商汤智能科技有限公司 深度学习模型的执行方法、装置、电子设备及存储介质
CN112947935A (zh) * 2021-02-26 2021-06-11 上海商汤智能科技有限公司 运算方法及装置、电子设备和存储介质
CN113222121B (zh) * 2021-05-31 2023-08-29 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置及设备
CN113688992B (zh) * 2021-10-25 2021-12-28 中电云数智科技有限公司 一种模型优化系统和方法
CN114048030B (zh) * 2021-11-09 2022-07-26 北京百度网讯科技有限公司 调度算子的方法和装置
CN115081628B (zh) * 2022-08-15 2022-12-09 浙江大华技术股份有限公司 一种深度学习模型适配度的确定方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置
CN109492241A (zh) * 2018-08-10 2019-03-19 北京中科寒武纪科技有限公司 转换方法、装置、计算机设备和存储介质
CN111191789A (zh) * 2020-01-20 2020-05-22 上海依图网络科技有限公司 模型训练方法、系统、芯片、电子设备及介质
CN111291882A (zh) * 2018-12-06 2020-06-16 北京百度网讯科技有限公司 一种模型转换的方法、装置、设备和计算机存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734584B2 (en) * 2017-04-19 2023-08-22 International Business Machines Corporation Multi-modal construction of deep learning networks
EP3884435A4 (en) * 2018-11-19 2022-10-19 Deeplite Inc. SYSTEM AND METHOD FOR AUTOMATIC PRECISION CONFIGURATION FOR DEEP NEURAL NETWORKS
US20190392296A1 (en) * 2019-06-28 2019-12-26 John Brady Hardware agnostic deep neural network compiler
CN110532291B (zh) * 2019-07-25 2022-07-12 中国科学院计算技术研究所 基于最小执行代价的深度学习框架间模型转换方法及系统
CN111275199A (zh) * 2020-01-17 2020-06-12 深圳壹账通智能科技有限公司 一种深度学习模型文件的转换方法、系统、计算机设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
CN108764487A (zh) * 2018-05-29 2018-11-06 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置
CN109492241A (zh) * 2018-08-10 2019-03-19 北京中科寒武纪科技有限公司 转换方法、装置、计算机设备和存储介质
CN111291882A (zh) * 2018-12-06 2020-06-16 北京百度网讯科技有限公司 一种模型转换的方法、装置、设备和计算机存储介质
CN111191789A (zh) * 2020-01-20 2020-05-22 上海依图网络科技有限公司 模型训练方法、系统、芯片、电子设备及介质

Also Published As

Publication number Publication date
CN111967568B (zh) 2023-09-01
CN111967568A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
WO2022000802A1 (zh) 深度学习模型的适配方法、装置及电子设备
US20210390428A1 (en) Method, apparatus, device and storage medium for training model
US20210397947A1 (en) Method and apparatus for generating model for representing heterogeneous graph node
US11847164B2 (en) Method, electronic device and storage medium for generating information
JP2022018095A (ja) マルチモーダル事前訓練モデル取得方法、装置、電子デバイス及び記憶媒体
JP2021105980A (ja) 異種グラフにおけるノード表現の生成方法、装置及び電子機器
CN111625224A (zh) 代码生成方法、装置、设备及存储介质
US20210200813A1 (en) Human-machine interaction method, electronic device, and storage medium
US20210319335A1 (en) Question analysis method, device, knowledge base question answering system and electronic equipment
KR102521765B1 (ko) 인과 관계의 판별 방법, 장치, 전자 기기 및 저장 매체
JP2022505015A (ja) 知識グラフのベクトル表現生成方法、装置及び電子機器
JP2021197159A (ja) グラフニューラルネットワークをプレトレーニングする方法、プログラム及び装置
KR20210108906A (ko) 점군 데이터 처리방법, 장치, 전자기기 및 판독 가능 기록매체
US11775766B2 (en) Method and apparatus for improving model based on pre-trained semantic model
US11610389B2 (en) Method and apparatus for positioning key point, device, and storage medium
US11562732B2 (en) Method and apparatus for predicting mouth-shape feature, and electronic device
JP7096917B2 (ja) 行列型テキストの記憶方法、装置及び電子機器
KR20220040378A (ko) 음성 처리 시스템, 음성 처리 방법, 전자 기기 및 판독 가능 기록 매체
US20210216713A1 (en) Method, apparatus, device and storage medium for intelligent response
JP2021177368A (ja) ニューラルネットワークモデルの処理方法及び装置
KR20220003444A (ko) 옵티마이저 학습 방법, 장치, 전자 기기 및 판독 가능 기록 매체
CN110990569B (zh) 文本聚类方法、装置及相关设备
EP3958183A1 (en) Deep learning model adaptation method and apparatus and electronic device
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN111680508B (zh) 文本的处理方法和装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20217033450

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021562306

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020930649

Country of ref document: EP

Effective date: 20211019

NENP Non-entry into the national phase

Ref country code: DE