深度学习模型的适配方法、装置及电子设备与流程

文档序号:23005521发布日期:2020-11-20 11:56阅读:237来源:国知局
深度学习模型的适配方法、装置及电子设备与流程

本申请涉及计算机技术领域,具体涉及人工智能、深度学习、云计算技术领域,尤其涉及一种深度学习模型的适配方法、装置、电子设备及存储介质。



背景技术:

目前,以神经网络为代表的深度学习正在产业界得到广泛的落地和应用,基于大规模深度学习模型部署的需求,衍生出各种类型的人工智能(artificialintelligence,简称ai)推理加速芯片。但是,各种类型的ai推理加速芯片的形态不一,算力不等,应用场景也各式各样。因此,各种类型的ai推理加速芯片,往往仅适用于某一种特定框架下的深度学习模型,而无法运行其它框架下的深度学习模型。

因此,如何将各种框架下的深度学习模型与ai推理加速芯片进行适配,是亟需解决的技术问题。



技术实现要素:

本申请提供了一种深度学习模型的适配方法、装置、电子设备以及存储介质。

本申请第一方面实施例提供了一种深度学习模型的适配方法,包括:

获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;

根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径;

根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。

本申请第二方面实施例提供了一种深度学习模型的适配装置,包括:

获取模块,用于获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息;

查询模块,用于根据所述模型信息和所述硬件信息,查询转换路径表,以得到匹配的目标转换路径;

转换模块,用于根据所述目标转换路径,将所述原始深度学习模型转换为所述转换路径中的中间深度学习模型,以及将所述中间深度学习模型转换至所述目标深度学习模型。

本申请第三方面实施例提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例的深度学习模型的适配方法。

本申请第四方面实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例的深度学习模型的适配方法。

上述申请中的一个实施例具有如下优点或有益效果:通过基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1为本申请实施例一提供的深度学习模型的适配方法的流程示意图;

图2为本申请实施例二提供的模型转换的子流程示意图;

图3为本申请实施例三提供的生成目标转换路径的子流程示意图;

图4为本申请实施例四提供的深度学习模型的适配装置的结构示意图;

图5是用来实现本申请实施例的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

下面参考附图描述本申请实施例的深度学习模型的适配方法、装置、电子设备以及存储介质。

图1为本申请实施例一提供的深度学习模型的适配方法的流程示意图。

本申请实施例以该深度学习模型的适配方法被配置于深度学习模型的适配装置中来举例说明,该深度学习模型的适配装置可以应用于任一电子设备中,以使该电子设备可以执行深度学习模型的适配功能。

其中,电子设备可以为个人电脑(personalcomputer,简称pc)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统的硬件设备。

如图1所示,该深度学习模型的适配方法,可以包括以下步骤:

步骤101,获取原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息。

其中,原始深度学习模型,是指待转换的包含深度神经网络结构的机器学习模型。深度学习模型的模型信息,可以包括深度学习模型的训练框架、深度学习模型的网络类型、深度学习模型的模型结构信息、深度学习模型的模型文件,等等。

例如,深度学习模型的训练框架,可以为开放源代码软件库的框架(如tensorflow框架)、pytorch框架、深度学习框架(convolutionalarchitectureforfastfeatureembedding,简称caffe)、并行分布式深度学习框架(paralleldistributeddeeplearning,paddlepaddle)等等。

深度学习模型的网络类型,可以为所有主流分类、检测及分割神经网络。例如,网络类型可以为深层的卷积神经网络(如alexnet)、基于深度可分解卷积的模型(如mobilenet)、用于目标检测的网络模型(regionswithcnnfeatures,简称rcnn)等等。

深度学习模型的模型结构信息,可以为深度学习模型所包含的基本结构,例如,可以包括全连接层、循环结构、卷积层/池化层等等。

深度学习模型的模型文件,可以为算法工程师使用某种深度学习框架构建好模型,经调参和训练优化后,将最终生成的网络参数和模型结构一并保存,得到的文件。不同深度学习框架训练得到的模型文件的格式不尽相同,但完整的模型文件一般都包含了张量数据、运算单元和计算图等信息。

可以理解的是,人工智能硬件都只能运行满足自身要求的深度学习模型,因此需适配的目标硬件的硬件信息不同时,对应的可以运行的深度学习模型并不相同。

可选地,需适配的目标硬件的硬件信息,可以为需适配的目标硬件类型,例如,英特尔中央处理器(intelcentralprocessingunit/processor,简称intelcpu)、arm处理器、海思处理器等等。

需要说明的是,需适配的目标硬件可以为任意的目前市面上的主流人工智能硬件,在此不做限定。

在一种可能的情况下,需适配的目标硬件不限于一个,也可以为两个或多个,此时,需适配的目标硬件的硬件信息包含有所有目标硬件的硬件信息。

步骤102,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径。

其中,转换路径表,可以指根据任意两个深度学习模型的模型训练框架、网络类型、模型文件等、以及需适配的目标硬件的硬件信息,预先配置的转换路径。转换路径表中可以包含有任意类型的深度学习模型的训练框架、网络类型、模型文件,以及需适配的目标硬件的转换路径。

目标转换路径,是指转换路径表中与原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息匹配的转换路径。

本申请实施例中,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,可以根据模型信息和硬件信息,从转换路径表中查询到匹配的目标转换路径。

作为一种示例,假设需要将由paddlepaddle训练框架训练出来的原始深度学习模型mobilenetv1模型,转换到在intelcpu上执行的深度学习模型时,根据mobilenetv1模型的模型信息,以及需适配的目标硬件,查询转换路径表,可以得到匹配的目标转换路径:paddlemodel→caffemodel→optimizemodel→dldtmodel(适用于intelcpu)。

步骤103,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。

可以理解的是,将原始深度学习模型转换至目标深度学习模型的转换过程,可以需要多次模型转换,才能得到适配的目标硬件能够执行的深度学习模型。

本申请中,确定原始深度学习模型转换至目标深度学习模型的目标转换路径后,可以根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,进而,将中间深度学习模型转换至目标深度学习模型。

在一种可能的情况下,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型仅为一个,可以首先根据目标转换路径将原始深度学习模型转换为中间深度学习模型,进而将中间深度学习模型转换至目标深度学习模型。

在另一种可能的情况下,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型可以为多个。

作为一种示例,假设目标转换路径为:paddlemodel→caffemodel→optimizemodel→dldtmodel(适用于intelcpu),则可以根据目标转换路径,将原始深度学习模型paddle模型转换为中间深度学习模型caffe模型,进而将中间深度学习模型caffe模型转换为中间深度学习模型optimize模型,将中间深度学习模型optimize模型转换至适配于intelcpu的目标深度学习模型dldt模型。

本申请实施例的深度学习模型的适配方法,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,进而,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。

在上述实施例的基础上,在一种可能的情况下,在上述步骤103中根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型可以为多个,此时,目标转换路径可以用于指示多个中间深度学习模型的转换顺序。在根据目标转换路径进行模型转换时,可以根据多个中间深度学习模型的转换顺序,执行各次模型转换的转换任务,以实现将原始深度学习模型转换至适配于目标硬件的目标深度学习模型,从而实现了任意类型的模型转换。下面结合图2进行详细介绍,

图2为本申请实施例二提供的模型转换的子流程示意图。

如图2所示,上述步骤103还可以包括以下步骤:

步骤201,根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。

需要说明的是,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型为多个时,目标转换路径中包含有多个中间深度学习模型的转换顺序。

本申请实施例中,根据目标转换路径将原始深度学习模型转换至目标深度学习模型时,转换过程中的中间深度学习模型为多个时,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。

作为一种示例,假设目标转换路径为:paddlemodel→caffemodel→optimizemodel→dldtmodel,可见,中间深度学习模型为两个,在根据目标转换路径将原始深度学习模型转换为目标深度学习模型的过程中,首先,根据目标转换路径中多个中间深度学习模型的转换顺序,确定第一次模型转换的转换前模型和转换后模型分别为paddle模型和caffe模型,继续,确定第二次模型转换的转换前模型和转换后模型分别为caffe模型和optimize模型,进而,确定第三次模型转换的转换前模型和转换后模型分别为optimize模型和dldt模型。由此,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定每一次模型转换的转换前模型和转换后模型,以及各次模型转换的执行顺序。

步骤202,根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务。

本申请实施例中,确定每一次模型转换的转换前模型和转换后模型后,可以确定每一次模型转换的转换前模型和转换后模型之间的映射关系,进而,可以根据每一次模型转换的转换前模型和转换后模型之间的映射关系,生成各次模型转换的转换任务。

继续以步骤201中的示例为例,假设目标转换路径为:paddlemodel→caffemodel→optimizemodel→dldtmodel,则可以生成三次模型转换的转换任务,分别为:转换任务一,paddlemodel→caffemodel;转换任务二,caffemodel→optimizemodel;转换任务三,optimizemodel→dldtmodel。

作为一种可能的实现方式,对每一次模型转换的转换前模型和转换后模型,可以查询算子映射关系、张量映射关系和模型参数映射关系中的至少一个,以根据算子映射关系、张量映射关系和模型参数映射关系中的至少一个,生成各次模型转换的转换任务。由此,可以通过执行各次模型转换的转换任务,得到目标深度学习模型。

其中,每一次模型转换的转换前模型和转换后模型的模型算子可能并不相同,或者模型算子的对齐方式不同,因此,可以查询算子映射关系,以确定转换前模型和转换后模型的算子映射关系。

张量是所有深度学习框架中最核心的组件,其实际上就是一个多维数组,其目的是能够创造更高维度的矩阵、向量。模型参数可以包括各卷积层的参数,例如参数个数,参数所占空间等等。

步骤203,根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到目标深度学习模型。

本申请实施例中,根据目标转换路径中多个中间深度学习模型的转换顺序,确定各次模型转换的执行顺序后,可以根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到适配于目标硬件的目标深度学习模型。

继续以上述示例为例,根据目标转换路径确定从原始深度学习模型转换为目标深度学习模型时,需顺序执行的各次模型转换的转换任务分别为:转换任务一,paddlemodel→caffemodel;转换任务二,caffemodel→optimizemodel;转换任务三,optimizemodel→dldtmodel。进而,顺序执行该三次模型转换的转换任务,从而得到适配于intelcpu的目标深度学习模型。

本申请实施例中,在根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型的过程中,当中间深度学习模型为多个时,可以根据目标转换路径中多个中间深度学习模型的转换顺序,确定各次模型转换的执行顺序,进一步地,根据各次模型转换的执行顺序,对原始深度学习模型顺序执行各次模型转换的转换任务,以得到适配于目标硬件的目标深度学习模型。相较于现有的深度学习模型转换时仅能实现一次模型转换任务,本申请中实现了模型转换过程中存在多次模型转换任务,从而可以实现任意模型的转换,实现了深度学习模型可以适配于任意硬件的目的。

在实际应用场景中,可能存在将原始深度学习模型转换为适配于多个目标硬件的情况,也就是说目标硬件为至少两个,这种情况下,在上述步骤102中生成的目标转换路径也为至少两条路径,从而可以根据至少两个目标转换路径,将原始深度学习模型转换为适配于至少两个目标硬件的至少两个目标深度学习模型。下面结合图3进行详细介绍,图3为本申请实施例三提供的生成目标转换路径的子流程示意图。

如图3所示,上述步骤102还可以包括以下子步骤:

步骤301,将每一个目标硬件的硬件信息分别与模型信息组合,以得到至少两个组合信息。

在一种可能的情况下,原始深度学习模型需适配的目标硬件为至少两个,可以在获取到每一个目标硬件的硬件信息后,将每一个目标硬件的硬件信息分别与原始深度学习模型的模型信息组合,以得到至少两个组合信息。

其中,原始深度学习模型的模型信息,可以包括模型结构信息和训练框架信息。由此,可以根据原始深度学习模型的模型结构信息和训练框架信息,分别与每一个目标硬件的硬件信息组合,以得到至少两个组合信息。

作为一种示例,假设目标硬件为两个,分别为硬件a和硬件b,则可以分别将原始深度学习模型的模型信息与硬件a和硬件b的硬件信息进行组合,从而可以得到两个组合信息。

步骤302,根据至少两个组合信息查询转换路径表,得到至少两条候选转换路径。

其中,每一条候选转换路径与对应的一个组合信息匹配。

可以理解的是,至少两个目标硬件的硬件信息并不相同,因此,得到至少两个组合信息后,根据至少两个组合信息查询转换路径表,可以得到至少两条候选转换路径,并且,每一条候选转换路径与对应的一个组合信息匹配。

作为一种示例,假设原始深度学习模型可以为paddle模型,需要将paddlepaddle训练出来的mobilenetv1模型,转换到在intelcpu以及海思昇腾910芯片上执行的深度学习模型,确定两个目标硬件对应的组合信息后,根据两个组合信息查询转换路径表,可以得到两条候选转换路径分别为:

路径1、paddlemodel→caffemodel→optimizemodel→dldtmodel(适配于intelcpu);

路径2、paddlemodel→caffemodel→optimizemodel→atlasmodel(适配于海思昇腾910)。

步骤303,根据至少两条候选转换路径,生成目标转换路径。

本申请实施例中,在原始深度学习模型需适配的目标硬件为至少两个时,确定至少两条候选转换路径后,可以根据至少两条候选转换路径,生成,目标转换路径。

在一种可能的情况下,假设至少两条候选转换路径中没有重合的转换任务,则可以将至少两条候选转换路径作为目标转换路径,分别对原始深度学习模型进行转换,以得到适配于至少两个目标硬件的目标深度学习模型。

在另一种可能的情况下,假设至少两条候选转换路径中存在重合部分,则可以对至少两条候选转换路径中的重合部分进行合并,以得到目标转换路径。

例如上述步骤302中的示例,两条候选转换路径中存在重合部分为:paddlemodel→caffemodel→optimizemodel,则可以将该两条候选转换路径中的重合部分进行合并,以得到合并后的目标转换路径如下:

由此,在至少两条候选转换路径中存在重合部分时,可以对至少两条候选转换路径中的重合部分进行合并,以实现对至少两条候选转换路径的优化,从而可以根据优化得到的目标转换路径快速生成适配于至少两个目标硬件的目标深度学习模型。

可见,在目标硬件为至少两个时,可以将每一个目标硬件的硬件信息与模型信息组合,以得到至少两个组合信息,根据至少两个组合信息查询转换路径表,得到至少两条候选转换路径,进而,根据至少两条候选转换路径,生成目标转换路径。由此,在原始深度学习模型需适配的目标硬件为多个时,可以根据目标转换路径快速生成适配于至少两个目标硬件的目标深度学习模型,从而提高了模型转换的速率。

为了实现上述实施例,本申请提出了一种深度学习模型的适配装置。

图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)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,在获取到原始深度学习模型的模型信息,以及需适配的目标硬件的硬件信息后,根据模型信息和硬件信息,查询转换路径表,以得到匹配的目标转换路径,进而,根据目标转换路径,将原始深度学习模型转换为转换路径中的中间深度学习模型,以及将中间深度学习模型转换至目标深度学习模型。由此,基于原始深度学习模型的模型信息和目标硬件的硬件信息,确定模型转换路径,以根据模型转换路径进行深度学习模型的转换,实现了将任意类型的原始深度学习模型转换为适配于任意目标硬件的目标深度学习模型,解决了深度学习模型难以适用于不同硬件终端的问题。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1