CN110363303B - 智能分配模型训练内存方法、装置及计算机可读存储介质 - Google Patents
智能分配模型训练内存方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110363303B CN110363303B CN201910520760.8A CN201910520760A CN110363303B CN 110363303 B CN110363303 B CN 110363303B CN 201910520760 A CN201910520760 A CN 201910520760A CN 110363303 B CN110363303 B CN 110363303B
- Authority
- CN
- China
- Prior art keywords
- training
- data set
- neural network
- unit data
- memory
- 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.)
- Active
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/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人工智能技术,揭露了一种智能分配模型训练内存的方法,包括构建PyTorch框架并接收训练数据,并将所述训练数据随机分为单元数据集A和单元数据集B,将所述单元数据集A运算后得到小批量梯度数据集,将所述小批量梯度数据集输入至循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出内存空间余量值,根据所述内存空间余量值计算多种机器学习模型所占用的模型训练内存,根据所述模型训练空间将所述单元数据集B分别导入所述多种机器学习模型进行训练。本发明还提出一种智能分配模型训练内存的装置以及一种计算机可读存储介质。本发明可以实现智能分配模型训练内存功能。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于梯度下降的智能分配模型训练内存方法、装置及计算机可读存储介质。
背景技术
目前机器学习技术应用广泛,集成化的机器学习系统也越来越多的被采用,所述集成化的机器学习系统就是同时应用多种机器学习模型进行训练。但所述集成化的机器学习效果和速度常常受制于内存性能和空间,这样导致了模型训练速度慢且准确度不高。如果通过单纯拓展内存空间的方式来提高模型训练的效率,成本高昂,效益不佳,应用范围很窄。
发明内容
本发明提供一种智能分配模型训练内存的方法、装置及计算机可读存储介质,其主要目的在于利用循环神经网络计算模型训练内存的容量,并基于所述计算出的容量,利用梯度下降算法分配模型训练内存,提高模型训练的效率。
为实现上述目的,本发明提供的一种智能分配模型训练内存的方法,包括:
在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B;
将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值;
根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
可选地,所述多种机器学习模型包括朴素贝叶斯、支持向量机、卷积神经网络;
所述训练数据按照数据格式划分为文本数据、图片数据。
可选地,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,包括:
将所述小批量梯度集输入至所述循环神经网络模型的隐藏层中;
所述隐藏层将所述隐藏层的基本参数与所述小批量梯度集进行卷积运算得到卷积梯度值。
可选地,所述卷积运算为:
其中ω'为所述内存空间余量值,ω为所述小批量梯度数据集,k为卷积核的大小,s为卷积操作的步幅,p为数据补零矩阵。
可选地,将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,包括:
求出所述单元数据集A的损失函数loss为:
其中,b为所述单元数据集A的样本个数,yθ(x(i))为所述单元数据集A的预测值,y(i)为所述单元数据集A的真实值,x为所述单元数据集A的加权平均值,θ为所述单元数据集A所包含的预估参数值;
对所述损失函数loss求解θ的偏导数:
基于上述求解偏导数的过程,不断更新小批量梯度数据集θj+1:
其中,θj为更新前的小批量梯度数据集,θj+1为更新后的小批量梯度数据集当达到预设迭代次数时,退出迭代,输出所述小批量梯度数据集θj+1。
此外,为实现上述目的,本发明还提供一种装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的智能训练程序,所述智能训练程序被所述处理器执行时实现如下步骤:
在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B;
将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值;
根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
可选地,所述多种机器学习模型包括朴素贝叶斯、支持向量机、卷积神经网络;
所述训练数据按照数据格式划分为文本数据、图片数据。
可选地,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,包括:
将所述小批量梯度集输入至所述循环神经网络模型的隐藏层中;
所述隐藏层将所述隐藏层的基本参数与所述小批量梯度集进行卷积运算得到卷积梯度值。
可选地,所述卷积运算为:
其中ω'为所述内存空间余量值,ω为所述小批量梯度数据集,k为卷积核的大小,s为卷积操作的步幅,p为数据补零矩阵。
可选地,将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,包括:
求出所述单元数据集A的损失函数loss为:
其中,b为所述单元数据集A的样本个数,yθ(x(i))为所述单元数据集A的预测值,y(i)为所述单元数据集A的真实值,x为所述单元数据集A的加权平均值,θ为所述单元数据集A所包含的预估参数值;
对所述损失函数loss求解θ的偏导数:
基于上述求解偏导数的过程,不断更新小批量梯度数据集θj+1:
其中,θj为更新前的小批量梯度数据集,θj+1为更新后的小批量梯度数据集当达到预设迭代次数时,退出迭代,输出所述小批量梯度数据集θj+1。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有智能训练程序,所述智能训练程序可被一个或者多个处理器执行,以实现如上所述的智能分配模型训练内存方法的步骤。
本发明提出的智能分配模型训练内存方法、装置及计算机可读存储介质,通过创建循环神经网络模型,导入部分数据,利用所述循环神经网络模型根据所述部分数据计算内存容量,并基于批量梯度下降法高效分配多种机器学习模型的内存,提高了模型训练的效率,保证了用户对内存空间的使用效率。
附图说明
图1为本发明一实施例提供的智能分配模型训练内存的方法的流程示意图;
图2为本发明一实施例提供的装置的内部结构示意图;
图3为本发明一实施例提供的装置中智能训练程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种智能分配模型训练内存的方法。参照图1所示,为本发明一实施例提供的智能分配模型训练内存的方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,智能分配模型训练内存的方法包括:
S1、在python环境下构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B。
本发明较佳实施例,所述训练数据是训练所述多种机器学习模型的数据,较佳地,按照数据格式划分如文本数据、图片数据等,按照业务类型划分如信息安全、数据预测、聚类判断等,所述训练数据可从热门网站中爬取,并随机将所述原始数据分割为单元数据集A和单元数据集B。其中,所述单元数据集A用于计算存储内存的单元余量值,所述单元数据集B用于训练所述多种机器学习模型,较佳地,所述单元数据集A与所述单元数据集B的数据量比为1:9。
所述PyTorch框架是一种基于Python的深度学习框架,能够实现所述多种机器学习模型,如朴素贝叶斯、支持向量机、卷积神经网络等。
S2、将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值。
本发明较佳实施例,所述批量梯度下降法具有运算速度更快,可有效避免相似样本的干扰,减轻计算负担等优点。较佳地,所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集包括求解损失函数loss和对所述损失函数求解偏导数。
较佳地,求出所述单元数据集A的损失函数loss为:
其中,b为所述单元数据集A的样本个数,yθ(x(i))为所述单元数据集A的预测值,y(i)为所述单元数据集A的真实值,x为所述单元数据集A的加权平均值,θ为所述单元数据集A所包含的预估参数值;
对所述损失函数loss求解θ的偏导数:
基于上述求解偏导数的过程,不断更新小批量梯度数据集θj+1:
其中,θj为更新前的小批量梯度数据集,θj+1为更新后的小批量梯度数据集当达到预设迭代次数时,退出迭代,输出所述小批量梯度数据集θj+1。
进一步地,本发明较佳实施例利用所述PyTorch框架创建一个循环神经网络,将所述小批量梯度集输入至所述循环神经网络模型,并与所述循环神经网络模型隐藏层的基本参数进行卷积运算得到卷积梯度值,若所述卷积梯度值大于预设阈值,则重新随机设定所述基本参数,当所述卷积梯度值小于所述预设阈值,则所述基本参数值不再变动,所述循环神经网络完成训练。
较佳地,所述卷积运算:
其中ω'为所述内存空间余量值,ω为所述小批量梯度数据集,k为卷积核的大小,s为卷积操作的步幅,p为数据补零矩阵。
S3、根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存,将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时退出训练,并输出所述多种机器学习模型的训练值。
较佳地,如根据所述循环神经网络智能的计算出所述内存空间余量值的值为80M,而所述单元数据集A与所述单元数据集B的数量比为1:9,因此在以所述循环神经网络为机器学习模型训练所述单元数据集B的话,则需要720M的内存空间余量值,而由于所述循环神经网络在训练过程中是当前机器学习模型中最占用内存空间的一种机器学习模型之一,因此,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练空间可根据梯度下降算法智能分配模型训练内存:
其中,是所述梯度下降算法,/>为各机器学习模型集合,如所述朴素贝叶斯、支持向量机、卷积神经网络等,b为所述单元数据集B的样本个数,/>为所述各机器学习模型下训练所述单元数据集B所占用的内存数,可随机设置,但不大于所述内存空间余量值,如不大于上述720M,y(i)为所述所述单元数据集B的预估参数值,
基于上述求解偏导数的过程,不断更新各机器学习模型的内存空间余量值:
其中,θj为更新前的所述各机器学习模型的内存空间余量值,可随机初始化得到,θj+1为更新后的所述各机器学习模型的内存空间余量值。根据θj+1的值可得到,如支持向量集训练所述单元数据集B的内存空间余量值为120M,朴素贝叶斯训练所述单元数据集B的内存空间余量值为72M等。
进一步地,根据所述θj+1的值,给各个机器学习模型划分出对应的内存空间,由此达到智能分配模型训练内存的目的。
本发明还提供一种装置1。参照图3所示,为本发明一实施例提供的装置1的内部结构示意图。
在本实施例中,所述装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是装置1的内部存储单元,例如该装置1的硬盘。存储器11在另一些实施例中也可以是装置1的外部存储设备,例如装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括智能分配模型训练内存装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于装置1的应用软件及各类数据,例如智能训练程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行智能训练程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在装置1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11-14以及智能训练程序01的智能分配模型训练内存装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对智能分配模型训练内存装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图3所示的装置1实施例中,存储器11中存储有智能训练程序01;处理器12执行存储器11中存储的智能训练程序01时实现如下步骤:
步骤一、在python环境下构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B。
本发明较佳实施例,所述训练数据是训练所述多种机器学习模型的数据,较佳地,按照数据格式划分如文本数据、图片数据等,按照业务类型划分如信息安全、数据预测、聚类判断等,所述训练数据可从热门网站中爬取,并随机将所述原始数据分割为单元数据集A和单元数据集B。其中,所述单元数据集A用于计算存储内存的单元余量值,所述单元数据集B用于训练所述多种机器学习模型,较佳地,所述单元数据集A与所述单元数据集B的数据量比为1:9。
所述PyTorch框架是一种基于Python的深度学习框架,能够实现所述多种机器学习模型,如朴素贝叶斯、支持向量机、卷积神经网络等。
步骤二、将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值。
本发明较佳实施例,所述批量梯度下降法具有运算速度更快,可有效避免相似样本的干扰,减轻计算负担等优点。较佳地,所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集包括求解损失函数loss和对所述损失函数求解偏导数。
较佳地,求出所述单元数据集A的损失函数loss为:
其中,b为所述单元数据集A的样本个数,yθ(x(i))为所述单元数据集A的预测值,y(i)为所述单元数据集A的真实值,x为所述单元数据集A的加权平均值,θ为所述单元数据集A所包含的预估参数值;
对所述损失函数loss求解θ的偏导数:
基于上述求解偏导数的过程,不断更新小批量梯度数据集θj+1:
其中,θj为更新前的小批量梯度数据集,θj+1为更新后的小批量梯度数据集当达到预设迭代次数时,退出迭代,输出所述小批量梯度数据集θj+1。
进一步地,本发明较佳实施例利用所述PyTorch框架创建一个循环神经网络,将所述小批量梯度集输入至所述循环神经网络模型,并与所述循环神经网络模型隐藏层的基本参数进行卷积运算得到卷积梯度值,若所述卷积梯度值大于预设阈值,则重新随机设定所述基本参数,当所述卷积梯度值小于所述预设阈值,则所述基本参数值不再变动,所述循环神经网络完成训练。
较佳地,所述卷积运算:
其中ω'为所述内存空间余量值,ω为所述小批量梯度数据集,k为卷积核的大小,s为卷积操作的步幅,p为数据补零矩阵。
步骤三、根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存,将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时退出训练,并输出所述多种机器学习模型的训练值。
较佳地,如根据所述循环神经网络智能的计算出所述内存空间余量值的值为80M,而所述单元数据集A与所述单元数据集B的数量比为1:9,因此在以所述循环神经网络为机器学习模型训练所述单元数据集B的话,则需要720M的内存空间余量值,而由于所述循环神经网络在训练过程中是当前机器学习模型中最占用内存空间的一种机器学习模型之一,因此,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练空间可根据梯度下降算法智能分配模型训练内存:
其中,是所述梯度下降算法,/>为各机器学习模型集合,如所述朴素贝叶斯、支持向量机、卷积神经网络等,b为所述单元数据集B的样本个数,/>为所述各机器学习模型下训练所述单元数据集B所占用的内存数,可随机设置,但不大于所述内存空间余量值,如不大于上述720M,y(i)为所述所述单元数据集B的预估参数值,
基于上述求解偏导数的过程,不断更新各机器学习模型的内存空间余量值:
其中,θj为更新前的所述各机器学习模型的内存空间余量值,可随机初始化得到,θj+1为更新后的所述各机器学习模型的内存空间余量值。根据θj+1的值可得到,如支持向量集训练所述单元数据集B的内存空间余量值为120M,朴素贝叶斯训练所述单元数据集B的内存空间余量值为72M等。
进一步地,根据所述θj+1的值,给各个机器学习模型划分出对应的内存空间,由此达到智能分配模型训练内存的目的。
可选地,在其他实施例中,智能训练程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述智能训练程序在智能分配模型训练内存装置中的执行过程。
例如,参照图3所示,为本发明装置一实施例中的智能训练程序的程序模块示意图,该实施例中,所述智能训练程序可以被分割为数据预处理模块10、模型训练模块20及分配训练内存模块30,示例性地:
所述数据预处理模块10用于:在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B。
所述模型训练模块20用于:将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值。
所述分配训练内存模块30用于:根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
上述数据预处理模块10、模型训练模块20及分配训练内存模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有智能训练程序,所述智能训练程序可被一个或多个处理器执行,以实现如下操作:
在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B;
将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值;
根据所述内存空间余量值,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
本发明计算机可读存储介质具体实施方式与上述智能分配模型训练内存装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种智能分配模型训练内存的方法,其特征在于,所述方法包括:
在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B;
将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值:
其中ω’为所述内存空间余量值,ω为所述小批量梯度数据集,k为所述循环神经网络模型的卷积核,s为所述小批量梯度数据集与所述循环神经网络模型隐藏层的基本参数进行卷积操作时的步幅,p为数据补零矩阵;
根据所述内存空间余量值,以及所述单元数据集A和单元数据集B的数量比,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存,将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
2.如权利要求1所述的智能分配模型训练内存的方法,其特征在于,所述多种机器学习模型包括朴素贝叶斯、支持向量机、卷积神经网络;
所述训练数据按照数据格式划分为文本数据、图片数据。
3.一种智能分配模型训练内存的装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的智能训练程序,所述智能训练程序被所述处理器执行时实现如下步骤:
在python环境构建PyTorch框架,所述PyTorch框架包括多种机器学习模型,利用所述PyTorch框架接收训练数据,并将所述训练数据随机分割为单元数据集A和单元数据集B;
将所述单元数据集A采用批量梯度下降法运算后得到小批量梯度数据集,利用所述PyTorch框架创建循环神经网络,将所述小批量梯度数据集输入至所述循环神经网络中进行反向传播训练得到训练值,直至所述循环神经网络的训练值小于预设阈值时,所述循环神经网络退出训练并输出所述反向传播训练的内存空间余量值:
其中ω’为所述内存空间余量值,ω为所述小批量梯度数据集,k为所述循环神经网络模型的卷积核,s为所述小批量梯度数据集与所述循环神经网络模型隐藏层的基本参数进行卷积操作时的步幅,p为数据补零矩阵;
根据所述内存空间余量值,以及所述单元数据集A和单元数据集B的数量比,计算多种机器学习模型训练所述单元数据集B时所占用的模型训练内存,根据所述模型训练内存将所述单元数据集B分别导入所述多种机器学习模型进行训练,直至所述多种机器学习模型的训练值收敛于预设区间时完成训练。
4.如权利要求3所述的智能分配模型训练内存的装置,其特征在于,所述多种机器学习模型包括朴素贝叶斯、支持向量机、卷积神经网络;
所述训练数据按照数据格式划分为文本数据、图片数据。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有智能训练程序,所述智能训练程序可被一个或者多个处理器执行,以实现如权利要求1至2中任一项所述的智能分配模型训练内存的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520760.8A CN110363303B (zh) | 2019-06-14 | 2019-06-14 | 智能分配模型训练内存方法、装置及计算机可读存储介质 |
PCT/CN2019/102202 WO2020248365A1 (zh) | 2019-06-14 | 2019-08-23 | 智能分配模型训练内存方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910520760.8A CN110363303B (zh) | 2019-06-14 | 2019-06-14 | 智能分配模型训练内存方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110363303A CN110363303A (zh) | 2019-10-22 |
CN110363303B true CN110363303B (zh) | 2023-07-07 |
Family
ID=68217386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910520760.8A Active CN110363303B (zh) | 2019-06-14 | 2019-06-14 | 智能分配模型训练内存方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110363303B (zh) |
WO (1) | WO2020248365A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113988389A (zh) * | 2021-10-15 | 2022-01-28 | 厦门大学 | 一种led结构性能的预测方法 |
CN114854978A (zh) * | 2022-04-06 | 2022-08-05 | 武汉钢铁有限公司 | 一种预测带钢跑偏值的方法和装置 |
CN114816758B (zh) * | 2022-05-10 | 2023-01-06 | 北京百度网讯科技有限公司 | 资源分配方法和装置 |
CN117093871B (zh) * | 2023-10-16 | 2024-02-13 | 之江实验室 | 一种面向深度学习分布式训练测评方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9659248B1 (en) * | 2016-01-19 | 2017-05-23 | International Business Machines Corporation | Machine learning and training a computer-implemented neural network to retrieve semantically equivalent questions using hybrid in-memory representations |
CN108415776A (zh) * | 2018-03-06 | 2018-08-17 | 华中科技大学 | 一种分布式数据处理系统中的内存预估与配置优化的方法 |
CN109086652A (zh) * | 2018-06-04 | 2018-12-25 | 平安科技(深圳)有限公司 | 手写字模型训练方法、汉字识别方法、装置、设备及介质 |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习系统的机器学习模型训练方法 |
CN109829542A (zh) * | 2019-01-29 | 2019-05-31 | 武汉星巡智能科技有限公司 | 基于多核处理器的多元深度网络模型重构方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135572B2 (en) * | 2010-09-29 | 2015-09-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for processing data |
US11636308B2 (en) * | 2016-10-31 | 2023-04-25 | Oracle International Corporation | Differentiable set to increase the memory capacity of recurrent neural net works |
CN108960330B (zh) * | 2018-07-09 | 2021-09-10 | 西安电子科技大学 | 基于快速区域卷积神经网络的遥感图像语义生成方法 |
CN109815779A (zh) * | 2018-08-03 | 2019-05-28 | 中国农业大学 | 一种舞台特效触发方法及系统 |
-
2019
- 2019-06-14 CN CN201910520760.8A patent/CN110363303B/zh active Active
- 2019-08-23 WO PCT/CN2019/102202 patent/WO2020248365A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9659248B1 (en) * | 2016-01-19 | 2017-05-23 | International Business Machines Corporation | Machine learning and training a computer-implemented neural network to retrieve semantically equivalent questions using hybrid in-memory representations |
CN108415776A (zh) * | 2018-03-06 | 2018-08-17 | 华中科技大学 | 一种分布式数据处理系统中的内存预估与配置优化的方法 |
CN109086652A (zh) * | 2018-06-04 | 2018-12-25 | 平安科技(深圳)有限公司 | 手写字模型训练方法、汉字识别方法、装置、设备及介质 |
CN109445953A (zh) * | 2018-08-30 | 2019-03-08 | 北京大学 | 一种面向大规模机器学习系统的机器学习模型训练方法 |
CN109829542A (zh) * | 2019-01-29 | 2019-05-31 | 武汉星巡智能科技有限公司 | 基于多核处理器的多元深度网络模型重构方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于分布式内存计算的深度学习方法;李抵非等;《吉林大学学报(工学版)》;20150515(第03期);第921-925页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110363303A (zh) | 2019-10-22 |
WO2020248365A1 (zh) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110363303B (zh) | 智能分配模型训练内存方法、装置及计算机可读存储介质 | |
CN110390387B (zh) | 对深度学习应用所用资源进行评估 | |
CN108230346B (zh) | 用于分割图像语义特征的方法和装置、电子设备 | |
CN108427698A (zh) | 预测模型的更新装置、方法及计算机可读存储介质 | |
CN110378480B (zh) | 模型训练方法、装置及计算机可读存储介质 | |
US20170357894A1 (en) | Data packing for convolution of artificial neural networks | |
CN111984400A (zh) | 神经网络的内存分配方法及装置 | |
KR20200102409A (ko) | 키 프레임 스케줄링 방법 및 장치, 전자 기기, 프로그램과 매체 | |
CN112508118A (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
CN112465141A (zh) | 模型压缩方法、装置、电子设备及介质 | |
CN115619448A (zh) | 用户流失预测方法、装置、计算机设备及存储介质 | |
CN113886721B (zh) | 个性化兴趣点推荐方法、装置、计算机设备及存储介质 | |
CN108595211A (zh) | 用于输出数据的方法和装置 | |
CN114880566A (zh) | 基于图神经网络的用户行为分析方法、装置、设备及介质 | |
CN111639523B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN111580883B (zh) | 应用程序启动方法、装置、计算机系统和介质 | |
CN111652282B (zh) | 基于大数据的用户偏好分析方法、装置及电子设备 | |
CN116911572A (zh) | 页面自动化装配方法、系统、计算机设备及存储介质 | |
CN111241066A (zh) | 平台数据库自动化运维方法、装置及计算机可读存储介质 | |
CN112069782A (zh) | 文档模板生成方法、装置、电子设备及存储介质 | |
CN111259318A (zh) | 智能化的数据优化方法、装置及计算机可读存储介质 | |
CN106776749A (zh) | 文件打开方式设置方法及系统 | |
CN111143568A (zh) | 一种论文分类时的缓冲方法、装置、设备及存储介质 | |
CN113196232A (zh) | 神经网络调度方法、装置、计算机设备及可读存储介质 | |
CN113887535B (zh) | 模型训练方法、文本识别方法、装置、设备和介质 |
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 |