CN110942139A - 深度学习神经网络部署系统及其方法 - Google Patents
深度学习神经网络部署系统及其方法 Download PDFInfo
- Publication number
- CN110942139A CN110942139A CN201911157413.XA CN201911157413A CN110942139A CN 110942139 A CN110942139 A CN 110942139A CN 201911157413 A CN201911157413 A CN 201911157413A CN 110942139 A CN110942139 A CN 110942139A
- Authority
- CN
- China
- Prior art keywords
- model
- frame
- framework
- module
- deep learning
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明是一种深度学习神经网络部署系统其特征在于,该系统包括框架获取模块、框架识别模块、框架解析模块、保存模块、模型生成模块和服务器;通过框架获取模块实现对待部署的模型的框架的获取,获取方式包括模型源代码或者模型文件,模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别。框架解析模块实现对识别后的框架的解析,获取该框架的模型信息。保存模块实现将解析后的模型信息进行保存,建立通用数据结构,将模型信息以键值对的形式进行存储。将通用数据结构中保存的信息一一对应到该新框架中,生成新的框架模型,对模型文件解析后生成无依赖的计算流图。
Description
技术领域
本发明属于网络系统技术领域,特别涉及深度学习神经网络部署系统及其方法。
背景技术
机器学习作为一门多领域交叉学科,是人工智能的核心研究领域。而深度学习是机器学习的关键性技术,其越来越受到各国研究人员的关注和重视。
机器学习和深度学习领域有很多的开发框架,例如Tensorflow、Caffe、Theano。现如今多种主流机器学习框架均可以高效迅速的构建机器学习学习网络,但是不同框架编写的机器学习算法,在其他框架上并不能实现预期功能,传统的深度学习框架部署一般局限于单个框架或者特殊相关联的框架,只能进行非常局限的平台部署;同时,用户所训练并建立的模型高度依赖于原有深度框架,无法脱离框架进行计算。同时,部署不同框架也需要在不同框架间来回转换。
框架跨平台移植性不足,导致深度模型局限在现有的框架中,降低了协作的效率,极大限制了平台的扩展性。与此同时,模型的转换都局限在官方给定的方法,无法有效而迅速的移植方式,导致了资源的浪费,另外,由于模型高度依赖原有的计算平台,而各个平台的计算模式有所不同,这将降低计算的效率并增加模型部署的难度。
发明内容
为解决上述问题,本发明的目的在于提供一种不依赖于特定框架、能够将不同框架的数据进行移植处理、实现不同框架的统一部署和计算的深度学习神经网络部署系统。
本发明的另一个目的在于提供一种转化效率高、移植处理高效准确的深度学习神经网络部署方法。
为实现上述目的,本发明的技术方案如下。
本发明是一种深度学习神经网络部署系统,其特征在于,该系统包括
框架获取模块:用于获取待部署的模型的框架;
框架识别模块:用于对获取到的模型的框架进行识别,识别出该框架的所属类别;
框架解析模块:用于对识别后的框架进行解析,获取该框架的模型信息;
保存模块:用于将框架解析模块解析后的数据以键值对的形式进行保存;
模型生成模块:用于确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植;
服务器:用于实现对框架获取模块、框架识别模块、框架解析模块、保存模块和模型生成模块的数据处理和功能支持。
通过框架获取模块实现对待部署的模型的框架的获取,框架的获取方式包括模型源代码或者模型文件,其中模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别,其中不同框架的判断标准可以为不同框架所包含的关键字、函数、文件后缀名等。框架解析模块采用键值对的形式对识别后的框架进行解析,获取该框架的模型信息。保存模块实现将解析后的模型信息以键值对的形式进行保存。模型生成模块建立新的框架,将保存模块中保存的信息一一对应到该新框架中,生成新的框架模型。
进一步地,所述框架包括采用tensorflow、keras、pytorch或caffe建立的深度学习框架。
进一步地,所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。
进一步地,所述模型信息包括神经元与神经元间的连接关系、模型网络结构、模型参数、模型超参数。模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据基本上代表了该模型的整个框架信息,通过对模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据的获取,实现对该框架的数据的提取。其中神经元与神经元件的连接关系对应模型文件中的节点与节点间的关联信息。
进一步地,所述模型网络结构包括神经网络中神经元的连接方式、神经元的数量与神经元相关的计算函数;所述模型参数是模型内部的配置变量,是指模型在达到最优效果时不断调整的参数,所述模型超参数是指模型在训练之前设定,且在模型训练过程中固定设置的参数,所述模型参数和模型超参数均由模型文件获得;神经元指包含输入、输出与计算功能的模型,它是神经网络中的基本单位,神经元与神经元间的连接关系包括全连接和局部连接。全连接指一个神经元和下一层的所有神经元连接,局部连接指一个神经元和下一层的个别神经元连接。
进一步地,所述框架解析模块将模型信息以键值对的形式进行解析。所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。识别出该框架的所属类别后,以该框架所包含的关键字等信心对模型信息进行提取,提取为键值对的形式。
进一步地,所述保存模块通过建立通用数据结构实现对解析后的模型信息的存储,实现将框架的模型信息部署到该通用数据结构上,所述通用数据结构采用键值对的形式对模型数据进行对应保存。通用数据结构是指可以适应各类型深度学习框架,兼容保存各类框架下模型信息的数据结构。通用数据结构采用键值对的形式对数据进行保存,键值对中键即关键字,表示数据的名称或者类型;值即取值,表示具体的数据,将框架中的模型信息一一对应到通用数据结构中实现对框架信息的兼容,模型信息中没有与通用数据结构中的关键字相对应的数据,则取值按照默认值填充;若有相对应的关键字,则按照模型文件中的信息填充。
进一步地,所述模型生成模块将通用数据结构中保存的数据映射到新框架中,实现不同框架间数据的移植。将通用数据结构中的键值对数据一一对应到新框架中,实现源框架到新框架的移植。
进一步地,所述模型生成模块将保存模块保存的框架的模型信息直接映射到新框架中,生成新的模型。所述模型生成模块通过建立框架间映射,将源框架的模型信息直接映射到新框架上,也可以通过框架内置的函数直接将信息转换都新框架上;举例来说:pytorch框架中的二维卷积层中参数中表示卷积核数量的参数为out_channels,out_channels=1表示卷积核数量为1;而keras框架中的二维卷积层中参数中表示卷积核数量的参数为filters,filter=1表示卷积核数量为1。因此从pytorch框架中中获取的模型数据不可以直接应用于keras框架,需要将out_channels与filters做一个对应,当pytorch框架转为keras框架时,需要把out_channels关键字映射为filters,将out_channels关键字对应的值映射为filters的值,生成新的框架模型。
进一步地,所述框架解析模块通过对框架识别模块识别后的模型文件的解析生成无依赖的计算流图,所述无依赖的计算流图是不依赖于原本的深度学习框架就可以运行的计算流图。所述计算流图是一组有顺序链接在一起的函数,是神经网络计算的表示;计算流图的基本单位是计算节点,表示了函数与计算;计算流图的边是节点间的关联信息,表明了计算节点之间的执行顺序。通过对模型文件进行解析,获取模型的计算类型与计算顺序,然后通过基础的计算算子按照顺序构造计算流图;计算算子包括加减乘除、求余、对数运算、指数运算、幂运算、开方运算、向上或向下取整。
为了解决上述问题,本发明还提供了一种深度学习神经网络部署方法,其特征在于,该方法的具体步骤如下:
S1:通过框架获取模块获取待部署的模型的框架;
S2:通过框架识别模块对获取到的模型的框架进行识别,识别出该框架的所属类别;
S3:通过框架解析模块对识别后的框架进行解析,获取该框架的模型信息;
S4:通过保存模块将框架解析模块解析后的数据以键值对的形式进行保存;
S5:通过模型生成模块确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植。
通过框架获取模块实现对待部署的模型的框架的获取,框架的获取方式包括模型源代码或者模型文件,其中模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别,其中不同框架的判断标准可以为不同框架所包含的关键字、函数、文件后缀名等。框架解析模块采用键值对的形式对识别后的框架进行解析,获取该框架的模型信息。保存模块实现将解析后的模型信息以键值对的形式进行保存。模型生成模块建立新的框架,将保存模块中保存的信息一一对应到该新框架中,生成新的框架模型。
进一步地,所述框架包括采用tensorflow、keras、pytorch或caffe建立的深度学习框架。
进一步地,所述步骤S3中的框架解析模块将模型信息以键值对的形式进行解析,所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。识别出该框架的所属类别后,以该框架所包含的关键字等信心对模型信息进行提取,提取为键值对的形式。
进一步地,所述步骤S3中的模型信息包括神经元与神经元间的连接关系、模型网络结构、模型参数、模型超参数。模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据基本上代表了该模型的整个框架信息,通过对模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据的获取,实现对该框架的数据的提取。其中神经元与神经元件的连接关系对应模型文件中的节点与节点间的关联信息。
进一步地,所述模型网络结构包括神经网络中神经元的连接方式、神经元的数量与神经元相关的计算函数;所述模型参数是模型内部的配置变量,是指模型在达到最优效果时不断调整的参数,所述模型超参数是指模型在训练之前设定,且在模型训练过程中固定设置的参数,所述模型参数和模型超参数均由模型文件获得;神经元指包含输入、输出与计算功能的模型,它是神经网络中的基本单位,神经元与神经元间的连接关系包括全连接和局部连接。全连接指一个神经元和下一层的所有神经元连接,局部连接指一个神经元和下一层的个别神经元连接。
进一步地,所述步骤S4中的保存模块通过建立通用数据结构实现对解析后的模型信息的存储,实现将框架的模型信息部署到该通用数据结构上,所述通用数据结构采用键值对的形式对模型数据进行对应保存。通用数据结构是指可以适应各类型深度学习框架,兼容保存各类框架下模型信息的数据结构。通用数据结构采用键值对的形式对数据进行保存,键值对中键即关键字,表示数据的名称或者类型;值即取值,表示具体的数据,将框架中的模型信息一一对应到通用数据结构中实现对框架信息的兼容,模型信息中没有与通用数据结构中的关键字相对应的数据,则取值按照默认值填充;若有相对应的关键字,则按照模型文件中的信息填充。
进一步地,所述步骤S5中的模型生成模块将通用数据结构中保存的数据映射到新框架中,实现不同框架间数据的移植。将通用数据结构中的键值对数据一一对应到新框架中,实现源框架到新框架的移植。
进一步地,所述步骤S5中的模型生成模块将保存模块保存的框架的模型信息直接映射到新框架中,生成新的模型。所述模型生成模块通过建立框架间映射,将源框架的模型信息直接映射到新框架上,也可以通过框架内置的函数直接将信息转换都新框架上;举例来说:pytorch框架中的二维卷积层中参数中表示卷积核数量的参数为out_channels,out_channels=1表示卷积核数量为1;而keras框架中的二维卷积层中参数中表示卷积核数量的参数为filters,filter=1表示卷积核数量为1。因此从pytorch框架中中获取的模型数据不可以直接应用于keras框架,需要将out_channels与filters做一个对应,当pytorch框架转为keras框架时,需要把out_channels关键字映射为filters,将out_channels关键字对应的值映射为filters的值,生成新的框架模型。
进一步地,所述步骤S3中的框架解析模块通过对框架识别模块识别后的模型文件的解析生成无依赖的计算流图,所述无依赖的计算流图是不依赖于原本的深度学习框架就可以运行的计算流图。所述计算流图是一组有顺序链接在一起的函数,是神经网络计算的表示;计算流图的基本单位是计算节点,表示了函数与计算;计算流图的边是节点间的关联信息,表明了计算节点之间的执行顺序。通过对模型文件进行解析,获取模型的计算类型与计算顺序,然后通过基础的计算算子按照顺序构造计算流图;计算算子包括加减乘除、求余、对数运算、指数运算、幂运算、开方运算、向上或向下取整。
综上所述,本发明是一种深度学习神经网络部署系统,其特征在于,该系统包括框架获取模块、框架识别模块、框架解析模块、保存模块、模型生成模块和服务器;通过框架获取模块实现对待部署的模型的框架的获取,框架的获取方式包括模型源代码或者模型文件,其中模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别,其中不同框架的判断标准可以为不同框架所包含的关键字、函数、文件后缀名等。框架解析模块实现对识别后的框架的解析,获取该框架的模型信息。保存模块实现将解析后的模型信息进行保存,其中通过建立通用数据结构,将模型信息以键值对的形式进行存储。模型生成模块建立新的框架,将通用数据结构中保存的信息一一对应到该新框架中,生成新的框架模型,框架解析模块通过对模型文件解析后生成无依赖的计算流图。
附图说明
图1是本发明的深度学习神经网络部署系统的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为实现上述目的,本发明的技术方案如下。
参照图1,本发明是一种深度学习神经网络部署系统,其特征在于,该系统包括
框架获取模块:用于获取待部署的模型的框架;
框架识别模块:用于对获取到的模型的框架进行识别,识别出该框架的所属类别;
框架解析模块:用于对识别后的框架进行解析,获取该框架的模型信息;
保存模块:用于将框架解析模块解析后的数据以键值对的形式进行保存;
模型生成模块:用于确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植;
服务器:用于实现对框架获取模块、框架识别模块、框架解析模块、保存模块和模型生成模块的数据处理和功能支持。
通过框架获取模块实现对待部署的模型的框架的获取,框架的获取方式包括模型源代码或者模型文件,其中模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别,其中不同框架的判断标准可以为不同框架所包含的关键字、函数、文件后缀名等。框架解析模块采用键值对的形式对识别后的框架进行解析,获取该框架的模型信息。保存模块实现将解析后的模型信息以键值对的形式进行保存。模型生成模块建立新的框架,将保存模块中保存的信息一一对应到该新框架中,生成新的框架模型。
在本实施例中,所述框架包括采用tensorflow、keras、pytorch或caffe建立的深度学习框架。
在本实施例中,所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。
在本实施例中,所述模型信息包括神经元与神经元间的连接关系、模型网络结构、模型参数、模型超参数。模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据基本上代表了该模型的整个框架信息,通过对模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据的获取,实现对该框架的数据的提取。其中神经元与神经元件的连接关系对应模型文件中的节点与节点间的关联信息。
在本实施例中,所述模型网络结构包括神经网络中神经元的连接方式、神经元的数量与神经元相关的计算函数;所述模型参数是模型内部的配置变量,是指模型在达到最优效果时不断调整的参数,所述模型超参数是指模型在训练之前设定,且在模型训练过程中固定设置的参数,所述模型参数和模型超参数均由模型文件获得;神经元指包含输入、输出与计算功能的模型,它是神经网络中的基本单位,神经元与神经元间的连接关系包括全连接和局部连接。全连接指一个神经元和下一层的所有神经元连接,局部连接指一个神经元和下一层的个别神经元连接。
在本实施例中,所述框架解析模块将模型信息以键值对的形式进行解析。所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。识别出该框架的所属类别后,以该框架所包含的关键字等信心对模型信息进行提取,提取为键值对的形式。
在本实施例中,所述保存模块通过建立通用数据结构实现对解析后的模型信息的存储,实现将框架的模型信息部署到该通用数据结构上,所述通用数据结构采用键值对的形式对模型数据进行对应保存。通用数据结构是指可以适应各类型深度学习框架,兼容保存各类框架下模型信息的数据结构。通用数据结构采用键值对的形式对数据进行保存,键值对中键即关键字,表示数据的名称或者类型;值即取值,表示具体的数据,将框架中的模型信息一一对应到通用数据结构中实现对框架信息的兼容,模型信息中没有与通用数据结构中的关键字相对应的数据,则取值按照默认值填充;若有相对应的关键字,则按照模型文件中的信息填充。
在本实施例中,所述模型生成模块将通用数据结构中保存的数据映射到新框架中,实现不同框架间数据的移植。将通用数据结构中的键值对数据一一对应到新框架中,实现源框架到新框架的移植。
在本实施例中,所述模型生成模块将保存模块保存的框架的模型信息直接映射到新框架中,生成新的模型。所述模型生成模块通过建立框架间映射,将源框架的模型信息直接映射到新框架上,也可以通过框架内置的函数直接将信息转换都新框架上;举例来说:pytorch框架中的二维卷积层中参数中表示卷积核数量的参数为out_channels,out_channels=1表示卷积核数量为1;而keras框架中的二维卷积层中参数中表示卷积核数量的参数为filters,filter=1表示卷积核数量为1。因此从pytorch框架中中获取的模型数据不可以直接应用于keras框架,需要将out_channels与filters做一个对应,当pytorch框架转为keras框架时,需要把out_channels关键字映射为filters,将out_channels关键字对应的值映射为filters的值,生成新的框架模型。
在本实施例中,所述框架解析模块通过对框架识别模块识别后的模型文件的解析生成无依赖的计算流图,所述无依赖的计算流图是不依赖于原本的深度学习框架就可以运行的计算流图。所述计算流图是一组有顺序链接在一起的函数,是神经网络计算的表示;计算流图的基本单位是计算节点,表示了函数与计算;计算流图的边是节点间的关联信息,表明了计算节点之间的执行顺序。通过对模型文件进行解析,获取模型的计算类型与计算顺序,然后通过基础的计算算子按照顺序构造计算流图;计算算子包括加减乘除、求余、对数运算、指数运算、幂运算、开方运算、向上或向下取整。
为了解决上述问题,本发明还提供了一种深度学习神经网络部署方法,其特征在于,该方法的具体步骤如下:
S1:通过框架获取模块获取待部署的模型的框架;
S2:通过框架识别模块对获取到的模型的框架进行识别,识别出该框架的所属类别;
S3:通过框架解析模块对识别后的框架进行解析,获取该框架的模型信息;
S4:通过保存模块将框架解析模块解析后的数据以键值对的形式进行保存;
S5:通过模型生成模块确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植。
通过框架获取模块实现对待部署的模型的框架的获取,框架的获取方式包括模型源代码或者模型文件,其中模型文件包括模型网络结构、模型参数、模型超参数、节点与节点间的关联信息等的静态文件。框架识别模块用于判断该框架所属的类别,其中不同框架的判断标准可以为不同框架所包含的关键字、函数、文件后缀名等。框架解析模块采用键值对的形式对识别后的框架进行解析,获取该框架的模型信息。保存模块实现将解析后的模型信息以键值对的形式进行保存。模型生成模块建立新的框架,将保存模块中保存的信息一一对应到该新框架中,生成新的框架模型。
在本实施例中,所述框架包括采用tensorflow、keras、pytorch或caffe建立的深度学习框架。
在本实施例中,所述步骤S3中的框架解析模块将模型信息以键值对的形式进行解析,所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。识别出该框架的所属类别后,以该框架所包含的关键字等信心对模型信息进行提取,提取为键值对的形式。
在本实施例中,所述步骤S3中的模型信息包括神经元与神经元间的连接关系、模型网络结构、模型参数、模型超参数。模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据基本上代表了该模型的整个框架信息,通过对模型网络结构、模型参数、模型超参数、神经元与神经元间的连接关系等数据的获取,实现对该框架的数据的提取。其中神经元与神经元件的连接关系对应模型文件中的节点与节点间的关联信息。
在本实施例中,所述模型网络结构包括神经网络中神经元的连接方式、神经元的数量与神经元相关的计算函数;所述模型参数是模型内部的配置变量,是指模型在达到最优效果时不断调整的参数,所述模型超参数是指模型在训练之前设定,且在模型训练过程中固定设置的参数,所述模型参数和模型超参数均由模型文件获得;神经元指包含输入、输出与计算功能的模型,它是神经网络中的基本单位,神经元与神经元间的连接关系包括全连接和局部连接。全连接指一个神经元和下一层的所有神经元连接,局部连接指一个神经元和下一层的个别神经元连接。
在本实施例中,所述步骤S4中的保存模块通过建立通用数据结构实现对解析后的模型信息的存储,实现将框架的模型信息部署到该通用数据结构上,所述通用数据结构采用键值对的形式对模型数据进行对应保存。通用数据结构是指可以适应各类型深度学习框架,兼容保存各类框架下模型信息的数据结构。通用数据结构采用键值对的形式对数据进行保存,键值对中键即关键字,表示数据的名称或者类型;值即取值,表示具体的数据,将框架中的模型信息一一对应到通用数据结构中实现对框架信息的兼容,模型信息中没有与通用数据结构中的关键字相对应的数据,则取值按照默认值填充;若有相对应的关键字,则按照模型文件中的信息填充。
在本实施例中,所述步骤S5中的模型生成模块将通用数据结构中保存的数据映射到新框架中,实现不同框架间数据的移植。将通用数据结构中的键值对数据一一对应到新框架中,实现源框架到新框架的移植。
在本实施例中,所述步骤S5中的模型生成模块将保存模块保存的框架的模型信息直接映射到新框架中,生成新的模型。所述模型生成模块通过建立框架间映射,将源框架的模型信息直接映射到新框架上,也可以通过框架内置的函数直接将信息转换都新框架上;举例来说:pytorch框架中的二维卷积层中参数中表示卷积核数量的参数为out_channels,out_channels=1表示卷积核数量为1;而keras框架中的二维卷积层中参数中表示卷积核数量的参数为filters,filter=1表示卷积核数量为1。因此从pytorch框架中中获取的模型数据不可以直接应用于keras框架,需要将out_channels与filters做一个对应,当pytorch框架转为keras框架时,需要把out_channels关键字映射为filters,将out_channels关键字对应的值映射为filters的值,生成新的框架模型。
在本实施例中,所述步骤S3中的框架解析模块通过对框架识别模块识别后的模型文件的解析生成无依赖的计算流图,所述无依赖的计算流图是不依赖于原本的深度学习框架就可以运行的计算流图。所述计算流图是一组有顺序链接在一起的函数,是神经网络计算的表示;计算流图的基本单位是计算节点,表示了函数与计算;计算流图的边是节点间的关联信息,表明了计算节点之间的执行顺序。通过对模型文件进行解析,获取模型的计算类型与计算顺序,然后通过基础的计算算子按照顺序构造计算流图;计算算子包括加减乘除、求余、对数运算、指数运算、幂运算、开方运算、向上或向下取整。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种深度学习神经网络部署系统,其特征在于,该系统包括
框架获取模块:用于获取待部署的模型的框架;
框架识别模块:用于对获取到的模型的框架进行识别,识别出该框架的所属类别;
框架解析模块:用于对识别后的框架进行解析,获取该框架的模型信息;
保存模块:用于将框架解析模块解析后的数据以键值对的形式进行保存;
模型生成模块:用于确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植;
服务器:用于实现对框架获取模块、框架识别模块、框架解析模块、保存模块和模型生成模块的数据处理和功能支持。
2.如权利要求1所述的一种深度学习神经网络部署系统,其特征在于,所述框架包括采用tensorflow、keras、pytorch或caffe建立的深度学习框架。
3.如权利要求1所述的一种深度学习神经网络部署系统,其特征在于,所述框架解析模块的解析框架的方法包括自定义规则抽取和框架内置方法抽取,所述自定义规则抽取包括正则匹配抽取。
4.如权利要求1所述的一种深度学习神经网络部署系统,其特征在于,所述模型信息包括神经元与神经元间的连接关系、模型网络结构、模型参数、模型超参数。
5.一种深度学习神经网络部署方法,其特征在于,该方法的具体步骤如下:
S1:通过框架获取模块获取待部署的模型的框架;
S2:通过框架识别模块对获取到的模型的框架进行识别,识别出该框架的所属类别;
S3:通过框架解析模块对识别后的框架进行解析,获取该框架的模型信息;
S4:通过保存模块将框架解析模块解析后的数据以键值对的形式进行保存;
S5:通过模型生成模块确定新生成的框架的类型,将保存模块保存的数据映射到新框架中,实现不同框架间的数据移植。
6.如权利要求5所述的一种深度学习神经网络部署系统,其特征在于,所述步骤S3中的框架解析模块将模型信息以键值对的形式进行解析。
7.如权利要求5所述的一种深度学习神经网络部署系统,其特征在于,所述步骤S4中的保存模块通过建立通用数据结构实现对解析后的模型信息的存储,实现将框架的模型信息部署到该通用数据结构上,所述通用数据结构采用键值对的形式对模型数据进行对应保存。
8.如权利要求7所述的一种深度学习神经网络部署系统,其特征在于,所述步骤S5中的模型生成模块将通用数据结构中保存的数据映射到新框架中,实现不同框架间数据的移植。
9.如权利要求5所述的一种深度学习神经网络部署系统,其特征在于,所述步骤S5中的模型生成模块将保存模块保存的框架的模型信息直接映射到新框架中,生成新的模型。
10.如权利要求5所述的一种深度学习神经网络部署系统,其特征在于,所述步骤S3中的框架解析模块通过对框架识别模块识别后的模型文件的解析生成无依赖的计算流图,所述无依赖的计算流图是不依赖于原本的深度学习框架就可以运行的计算流图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911157413.XA CN110942139A (zh) | 2019-11-22 | 2019-11-22 | 深度学习神经网络部署系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911157413.XA CN110942139A (zh) | 2019-11-22 | 2019-11-22 | 深度学习神经网络部署系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110942139A true CN110942139A (zh) | 2020-03-31 |
Family
ID=69907973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911157413.XA Pending CN110942139A (zh) | 2019-11-22 | 2019-11-22 | 深度学习神经网络部署系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110942139A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048854A (zh) * | 2021-10-15 | 2022-02-15 | 中邮通建设咨询有限公司 | 一种深度神经网络大数据内部数据文件的管理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN109919308A (zh) * | 2017-12-13 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及相关设备 |
CN110163197A (zh) * | 2018-08-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、计算机可读存储介质及计算机设备 |
CN110163345A (zh) * | 2019-05-09 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种神经网络处理方法、装置、设备及介质 |
CN110458280A (zh) * | 2019-07-15 | 2019-11-15 | 武汉魅瞳科技有限公司 | 一种适用于移动端的卷积神经网络加速方法及系统 |
-
2019
- 2019-11-22 CN CN201911157413.XA patent/CN110942139A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480789A (zh) * | 2017-08-07 | 2017-12-15 | 北京中星微电子有限公司 | 一种深度学习模型的高效转换方法及装置 |
CN109919308A (zh) * | 2017-12-13 | 2019-06-21 | 腾讯科技(深圳)有限公司 | 一种神经网络模型部署方法、预测方法及相关设备 |
CN110163197A (zh) * | 2018-08-24 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 目标检测方法、装置、计算机可读存储介质及计算机设备 |
US20190050715A1 (en) * | 2018-09-28 | 2019-02-14 | Intel Corporation | Methods and apparatus to improve data training of a machine learning model using a field programmable gate array |
CN110163345A (zh) * | 2019-05-09 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种神经网络处理方法、装置、设备及介质 |
CN110458280A (zh) * | 2019-07-15 | 2019-11-15 | 武汉魅瞳科技有限公司 | 一种适用于移动端的卷积神经网络加速方法及系统 |
Non-Patent Citations (2)
Title |
---|
袁景凌等: "《Spark案例与实验教程》", 30 April 2017, pages: 43 - 44 * |
齐慧颖主编: "《医学信息资源智能管理》", 武汉:湖北科学技术出版社, pages: 88 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048854A (zh) * | 2021-10-15 | 2022-02-15 | 中邮通建设咨询有限公司 | 一种深度神经网络大数据内部数据文件的管理方法 |
CN114048854B (zh) * | 2021-10-15 | 2022-12-06 | 中邮通建设咨询有限公司 | 一种深度神经网络大数据内部数据文件的管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147437B (zh) | 一种基于知识图谱的搜索方法及装置 | |
CN102033748B (zh) | 一种数据处理流程代码的生成方法 | |
CN109033387A (zh) | 一种融合多源数据的物联网搜索系统、方法及存储介质 | |
CN109325040B (zh) | 一种faq问答库泛化方法、装置及设备 | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN115131627A (zh) | 一种轻量化植物病虫害目标检测模型的构建和训练方法 | |
CN116932776A (zh) | 一种基于知识图谱的大模型知识更新方法和装置 | |
CN116611546A (zh) | 基于知识图谱的目标研究区域滑坡预测方法及系统 | |
CN112100402A (zh) | 一种电网知识图谱构建方法及装置 | |
CN114462582A (zh) | 基于卷积神经网络模型的数据处理方法及装置、设备 | |
CN110942139A (zh) | 深度学习神经网络部署系统及其方法 | |
CN112582073B (zh) | 医疗信息获取方法、装置、电子设备和介质 | |
CN115878818B (zh) | 一种地理知识图谱构建方法、装置、终端及存储介质 | |
Dutta et al. | Big data architecture for environmental analytics | |
CN116010662A (zh) | 一种能源消费-碳排放查询系统的构建方法、装置及介质 | |
CN113869049B (zh) | 基于法律咨询问题的具有法律属性的事实抽取方法及装置 | |
CN115757735A (zh) | 一种面向电网数字化建设成果资源的智能检索方法及系统 | |
CN115237469A (zh) | 一种基于云服务源码的多模式架构逆向解析方法 | |
CN115222058A (zh) | 调控系统运行状态分析模型构建方法及装置、介质及设备 | |
CN114519106A (zh) | 一种基于图神经网络的文档级实体关系抽取方法及系统 | |
CN113946568A (zh) | 一种数据治理系统以及方法 | |
CN112000389A (zh) | 一种配置推荐方法、系统、装置及计算机存储介质 | |
CN112632111B (zh) | 一种基于向量化执行引擎的数据库表达式计算的复用方法 | |
US20210326514A1 (en) | Method for generating interpretation text, electronic device and storage medium |
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 |