CN111061875B - 超参数确定方法、装置、计算机设备和存储介质 - Google Patents
超参数确定方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111061875B CN111061875B CN201911257367.0A CN201911257367A CN111061875B CN 111061875 B CN111061875 B CN 111061875B CN 201911257367 A CN201911257367 A CN 201911257367A CN 111061875 B CN111061875 B CN 111061875B
- Authority
- CN
- China
- Prior art keywords
- parameter
- parameter set
- process pool
- pool
- adjusting component
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种超参数确定方法、装置、计算机设备和存储介质。所述方法包括:通信管理器从调参组件获取参数组,将参数组以及参数组标识输入进程池的进程中;进程池的进程根据参数组对模型进行验证,得到验证分数;当获取到进程池输出的验证分数时,将参数组标识以及验证分数发送至调参组件,其中,调参组件根据参数组标识以及验证分数获取更新后的参数组;从调参组件获取更新后的参数组,将更新后的参数组以及参数组标识输入进程池新增的进程中;当检测到进程池的任务结束时,从调参组件获取最终更新的参数组。采用本方法能够规避在Python环境中对多余软件的监控与调试,节省了计算机资源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种超参数确定方法、装置、计算机设备和存储介质。
背景技术
在互联网时代,网络成了海量信息的载体,用户创建的短文本也成了互联网数据的重要来源,比如:用户对新闻的评论信息、用户发表的微博等,这些短文本成了信息交流和舆论传播的重要手段。短文本的基数非常庞大,且每天高速增长,数据中包含了用户对各种现象的观点和看法,话题涉及经济、娱乐、生活、体育等各个领域。通过文本分类模型对短文本进行分类,可跟踪社会热点信息、预测舆论趋势等。
但是,在对文本分类模型进行训练时,由于使用的调参算法的原因,常常需要安装其它软件支持训练,需要额外浪费计算机资源。
发明内容
基于此,有必要针对上述技术问题,提供一种节省计算机资源的超参数确定方法、装置、计算机设备和存储介质。
一种超参数确定方法,应用于Python环境,Python环境中包括进程池、通信管理器以及调参组件,所述方法包括:
所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。在一个实施例中,所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中,包括:
当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;
根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;
从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
在一个实施例中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组,包括:
所述调参组件根据所述参数标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;
所述调参组件在所述更新路径上确定所述更新后的参数组。
在一个实施例中,所述方法还包括:
当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
在一个实施例中,所述方法还包括:
当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
在一个实施例中,所述最终更新的参数组为所述验证分数满足预设条件的参数组。
在一个实施例中,所述预设条件为所述验证分数最高。
一种超参数确定装置,应用于Python环境,Python环境中包括进程池、通信管理器以及调参组件,所述装置包括:
输入模块,用于所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
发送模块,用于当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
所述输入模块,还用于从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
获取模块,用于当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
上述超参数确定方法、装置、计算机设备和存储介质,通信管理器从调参组件获取参数组,将参数组以及参数组标识输入进程池的进程中,进程池的进程根据参数组对模型进行验证,得到验证分数,通信管理器将参数组标识以及验证分数发送至调参组件,从调参组件获取更新后的参数组,将更新后的参数组以及参数组标识输入进程池新增的进程中,当检测到进程池的任务结束时,从调参组件获取最终更新的参数组。这样,利用Python内置的多进程调度工具实现模型的并行训练,避免安装多余的软件,规避了在Python环境中对多余软件的监控与调试,节省了计算机资源。
附图说明
图1为一个实施例中超参数确定方法的应用环境图;
图2为一个实施例中超参数确定方法的流程示意图;
图3为另一个实施例中超参数确定方法的应用环境图;
图4为一个实施例中超参数确定方法的框图;
图5为另一个实施例中超参数确定方法的框图;
图6为一个实施例中超参数确定装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的超参数确定方法,可以应用于如图1所示的应用环境中。该应用环境可为Python环境,Python环境中可包括调参组件102、进程池104以及通信管理器106。
调参组件102包括调参算法所需的组件。调参算法可为网格搜索算法、随机搜索算法、贝叶斯搜索算法、RACOS算法等等。调参组件102提供参数组给进程池104中的进程,使得进程根据参数组进行模型训练得到验证分数,将验证分数反馈给调参组件102,调参组件102基于该参数组对应的验证分数确定下一参数组,并提供下一参数组给进程池104中新增的进程。通过以上过程的不断迭代,最终找到模型的最优参数组。
通信管理器106实现调参组件102与进程池104之间的通信。通信管理器106从调参组件102获取参数组,将参数组以及参数组标识输入进程池104中的进程;通信管理器106接收进程池104反馈的验证分数,将验证分数发送至调参组件102。
进程池104中启动至少两个进程进行模型训练,实现任务并行,提高了资源利用率和处理效率。在进程中,根据参数组进行模型训练得到模型的预测结果,利用模型的预测结果与训练的标注标签之间的差异,对该参数组进行打分,得到验证分数,将验证分数输出至通信管理器106,该进程结束,关闭该进程。若进程池104的任务还未结束,进程池104会启动新的进程,并向通信管理器106请求参数组。
在一个实施例中,进程池104和通信管理器106可分别为Pythoy主程序中内置的多进程调度工具multiprocessing中的进程池multiprocessing.Pool和通信管理器multiproceesing.Manager。通过Pythoy主程序中内置的多进程调度工具训练模型,使得Python主程序外除了调参组件102外,不需要外挂其他依赖包,规避了在Pythoy环境中,除了对Pythoy的工具以外,还需对另外的工具进行监督与调试的任务,并且减少在Python环境对外源工具的依赖。
在一个实施例中,如图2所示,提供了一种超参数确定方法,包括以下步骤:
步骤202,所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
其中,超参数是指模型的网络层数、网络节点数、迭代次数、学习率等等,这些参数不在训练集所使用的梯度下降的更新范围内,需要通过验证集进行调整。在有监督的训练过程中,一般需要训练集、验证集和测试集。训练集用于对模型进行训练;验证集用于对训练集训练的模型进行评估,并利用验证集调整模型的超参数;最后利用测试集检验模型预测的精准度。
其中,针对模型中需要训练的超参数,每个超参数对应有取值范围,在每个超参数的取值范围选取一个候选值,将所有的超参数的候选值进行组合,得到参数组。参数组标识用于表征参数组的唯一性,其可为数字、字母等。
在一个实施例中,调参组件生成参数组的方式可以是:将各个超参数的可能取值进行组合,即利用穷举法将所有可能的组合列举出来,当接收到通信管理器的获取请求时,将参数组依次发送给通信管理器。
在一个实施例中,调参组件生成参数组的方式可以是:当接收到通信管理器的获取请求时,将各个超参数的可能取值随机进行组合,将参数组发送给通信管理器。
在一个实施例中,调参组件生成参数组的方式可以是:当接收到通信管理器的获取请求时,根据上一进程训练反馈的验证分数,确定本次进程训练的参数组,并将参数组发送给通信管理器。
其中,在进程中,根据参数组进行模型训练得到模型的预测结果,利用模型的预测结果与训练的标注标签之间的差异,对该参数组进行打分,得到验证分数。模型的预测结果与训练的标注标签之间的差异越大,验证分数越低,模型的预测结果与训练的标注标签之间的差异越小,验证分数越高。
其中,本实施例中涉及的模型可为深度学习模型、神经网络模型等。该模型可用于多个领域,比如自然语言处理领域(比如文本识别、文本分类)、图像领域(比如图像分类、图像美学评价)、金融领域(比如风险控制)等等。
步骤204,当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
其中,更新后的参数组用于进程池中新增的进程的训练。
在一个实施例中,调参组件根据参数组标识以及验证分数获取更新后的参数组的方式可以是:若调参组件生成参数组的方式为列举所有可能的参数组,则按照参数组的排序,将排序最靠前的参数组确定为更新后的参数组。
在一个实施例中,调参组件根据参数组标识以及验证分数获取更新后的参数组的方式可以是:若调参组件生成参数组的方式为随机组合,则随机组合各个超参数的可能取值,将随机组合的参数组确定为更新后的参数组。
在一个实施例中,调参组件根据参数组标识以及验证分数获取更新后的参数组的方式可以是:若调参组件生成参数组的方式为根据上一进程训练反馈的验证分数确定本次进程训练的参数组,则根据参数标识以及验证分数确定更新路径,该更新路径上包括至少两个待选的参数组,在更新路径上确定更新后的参数组。
步骤206,从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
进程池中各个进程的处理效率可能不同,当进程输出验证分数后,该进程结束,关闭该进程。若进程池的任务还未结束,进程池会启动新的进程,该新的进程即为进程池新增的进程。
当进程池启动新的进程,新的进程会向通信管理器请求参数组,通信管理器从调参组件获取更新后的参数组,将更新后的参数组输入进程池新增的进程中。
步骤208,当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
如图3所示,当检测到进程池的任务结束时,从调参组件中获取最终更新的参数组,该最终更新的参数组可为验证分数满足预设条件的参数组。可选地,预设条件可为验证分数最高。
上述超参数确定方法中,通信管理器从调参组件获取参数组,将参数组以及参数组标识输入进程池的进程中,进程池的进程根据参数组对模型进行验证,得到验证分数,通信管理器将参数组标识以及验证分数发送至调参组件,从调参组件获取更新后的参数组,将更新后的参数组以及参数组标识输入进程池新增的进程中,当检测到进程池的任务结束时,从调参组件获取最终更新的参数组。这样,利用Python内置的多进程调度工具实现模型的并行训练,提高了资源利用率和处理效率;避免安装多余的软件,减少了对外援工具的依赖;并且规避了在Python环境中对多余软件的监控与调试,节省了计算机资源。
在一个实施例中,所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中,包括:当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
其中,当首次对模型进行调参时,Python主程序会初始化通信管理器和进程池,初始化后进程池中的进程数量即为初始进程数量;从调参组件获取参数组的数量即为初始参数数量。可选地,初始参数数量等于初始进程数量。
具体地,如图4所示,当首次对模型进行调参时,Python主程序初始化通信管理器和进程池。通信管理器获取进程池的初始进程数量K,根据初始进程数量K确定初始参数数量K,将初始参数数量K发送至调参组件,调参组件随机初始化一批参数组,数量即为初始参数数量K。进程池启动K个进程,每个进程向通信管理器请求一个参数组,通信管理器从调参组件获取K个参数组,将K个参数组和参数组标识分别输入K个进程,每个进程获取一个参数数据独立进行模型训练。
每个独立进程的执行效率不一致,因此会有一些进程提前结束,每个进程结束前会将参数组标识和验证分数返回通信管理器,通信管理器将参数组标识和验证分数发送至调参组件,调参组件根据参数组标识和验证分数获取更新后的参数组。
如图5所示,旧的进程结束之后,进程池会启动新的进程(如图5中的进程K+1、进程K+2),新的进程向通信管理器请求参数组,通信管理器从调参组件获取更新后的参数组,将更新后的参数组和参数组标识发送给进程池。
上述超参数确定方法中,利用Python内置的多进程调度工具实现模型的并行训练,提高了资源利用率和处理效率。
在一个实施例中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组,包括:所述调参组件根据所述参数标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;所述调参组件在所述更新路径上确定所述更新后的参数组。
其中,更新路径是指,调参组件选取参数组的方向。以预定分数为界,当参数组对应的验证分数小于或等于预定分数时,可知该参数组的训练效果不理想,需要调整参数组的选取方向。基于更新路径,可避免遍历无效路径上的参数组,提升模型的训练效率。
调参算法维护着一个调参模型,将参数组发给模型进行训练,模型将基于参数组计算验证分数返回调参模型,将该参数组和验证分数作为训练数据对调参模型进行训练,利用训练后的调参模型选取更新后的参数组。训练后的调参模型会确定更新路径,并在更新路径上生成更新后的参数组。
具体地,旧的进程结束之后,进程池会启动新的进程,新的进程向通信管理器请求参数组,通信管理器向调参组件请求参数组,调参组件可将优化路径上最新生成的参数组发送给通信管理器。由于各个进程之间保持独立,调参组件可根据最新获取的验证分数,即时计算优化路径上的参数组,因此向新的进程返回的是优化路径上的参数组。
上述超参数确定方法中,根据参数标识以及验证分数确定更新路径,在更新路径上确定更新后的参数组,避免遍历无效路径,节省了计算机资源。
在一个实施例中,所述方法还包括:当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
其中,结束信息用于通知通信管理器,进程池的任务结束。
其中,预设数量可根据实际应用进行设定。当进程池的进程数量达到预设数量时,进程池的任务结束,不再新增进程。
当通信管理器接收到进程池发送的结束信息时,从调参组件获取最终更新的参数组,将该最终更新的参数组作为模型的超参数。
上述超参数确定方法中,利用Python内置的多进程调度工具实现模型的并行训练,提高了资源利用率和处理效率。
在一个实施例中,所述方法还包括:当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
其中,预设次数和预设分数可根据实际应用进行设定,比如预设次数可选10次,预设分数可选0.95(总分为1)。
当进程池连续预设次数输出的验证分数均大于预设分数时,说明模型的训练效果理想,此时可停止训练。通信管理器生成结束指令,将结束指令发送至进程池,进程池停止新增进程,通信管理器从调参组件获取最终更新的参数组,将该最终更新的参数组作为模型的超参数。
上述超参数确定方法中,当检测到训练效果理想时,可停止训练,节省资源。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种超参数确定装置600,应用于Python环境,Python环境中包括进程池、通信管理器以及调参组件,包括:输入模块602、发送模块604和获取模块606,其中:
输入模块602,用于所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;
发送模块604,用于当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
所述输入模块602,还用于从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
获取模块606,用于当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
上述超参数确定装置600,通信管理器从调参组件获取参数组,将参数组以及参数组标识输入进程池的进程中,进程池的进程根据参数组对模型进行验证,得到验证分数,通信管理器将参数组标识以及验证分数发送至调参组件,从调参组件获取更新后的参数组,将更新后的参数组以及参数组标识输入进程池新增的进程中,当检测到进程池的任务结束时,从调参组件获取最终更新的参数组。这样,利用Python内置的多进程调度工具实现模型的并行训练,提高了资源利用率和处理效率;避免安装多余的软件,减少了对外援工具的依赖;并且规避了在Python环境中对多余软件的监控与调试,节省了计算机资源。
在一个实施例中所述输入模块602,还用于:当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
在一个实施例中,所述获取模块606,还用于:根据所述参数标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;在所述更新路径上确定所述更新后的参数组。
在一个实施例中,所述超参数确定装置600还包括生成模块,所述生成模块,还用于:当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
在一个实施例中,所述生成模块,还用于:当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
关于超参数确定装置600的具体限定可以参见上文中对于超参数确定方法的限定,在此不再赘述。上述超参数确定装置600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种超参数确定方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;
根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;
从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述调参组件根据所述参数标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;
所述调参组件在所述更新路径上确定所述更新后的参数组。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;
根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;
从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
所述调参组件根据所述参数标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;
所述调参组件在所述更新路径上确定所述更新后的参数组。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种超参数确定方法,其特征在于,应用于Python环境,Python环境中包括进程池、通信管理器以及调参组件,所述进程池和所述通信管理器分别为Python主程序中内置的多进程调度工具multiprocessing中的进程池multiprocessing.Pool和通信管理器multiproceesing.Manager;所述通信管理器用于实现所述进程池与所述调参组件之间的通信;
所述方法包括:
所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;其中,所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;当所述进程池的进程输出验证分数后,所述进程池的进程结束;在所述进程池的任务还未结束的情况下,所述进程池启动新的进程,得到所述进程池新增的进程;
当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
在所述进程池新增的进程向所述通信管理器请求参数组的情况下,从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
2.根据权利要求1所述的方法,其特征在于,所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中,包括:
当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;
根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;
从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
3.根据权利要求1所述的方法,其特征在于,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组,包括:
所述调参组件根据所述参数组标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;
所述调参组件在所述更新路径上确定所述更新后的参数组。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
6.根据权利要求1所述的方法,其特征在于,所述最终更新的参数组为所述验证分数满足预设条件的参数组。
7.根据权利要求6所述的方法,其特征在于,所述预设条件为所述验证分数最高。
8.一种超参数确定装置,其特征在于,应用于Python环境,Python环境中包括进程池、通信管理器以及调参组件,所述进程池和所述通信管理器分别为Python主程序中内置的多进程调度工具multiprocessing中的进程池multiprocessing.Pool和通信管理器multiproceesing.Manager;所述通信管理器用于实现所述进程池与所述调参组件之间的通信;
所述装置包括:
输入模块,用于通过所述通信管理器从所述调参组件获取参数组,将所述参数组以及参数组标识输入所述进程池的进程中;其中,所述进程池的进程根据所述参数组对模型进行验证,得到验证分数;当所述进程池的进程输出验证分数后,所述进程池的进程结束;在所述进程池的任务还未结束的情况下,所述进程池启动新的进程,得到所述进程池新增的进程;
发送模块,用于当获取到所述进程池输出的验证分数时,将所述参数组标识以及所述验证分数发送至所述调参组件,其中,所述调参组件根据所述参数组标识以及所述验证分数获取更新后的参数组;
所述输入模块,还用于在所述进程池新增的进程向所述通信管理器请求参数组的情况下,从所述调参组件获取所述更新后的参数组,将所述更新后的参数组以及参数组标识输入所述进程池新增的进程中;
获取模块,用于当检测到所述进程池的任务结束时,从所述调参组件获取最终更新的参数组。
9.根据权利要求8所述的装置,其特征在于,所述输入模块,用于当所述通信管理器首次从所述调参组件获取所述参数组时,获取所述进程池的初始进程数量;根据所述初始进程数量确定所述参数组的初始参数数量,将所述初始参数数量发送至所述调参组件,其中,所述调参组件生成所述初始参数数量的参数组;从所述调参组件中获取所述初始参数数量的参数组,将所述初始参数数量的参数组以及参数组标识分别输入所述进程池的各个进程中。
10.根据权利要求8所述的装置,其特征在于,所述获取模块,还用于:根据所述参数组标识以及所述验证分数确定更新路径,所述更新路径上包括至少两个待选的参数组;在所述更新路径上确定所述更新后的参数组。
11.根据权利要求8所述的装置,其特征在于,所述超参数确定装置还包括生成模块,所述生成模块,还用于当接收到所述进程池发送的结束信息时,判定所述进程池的任务结束,其中,当所述进程池的进程数量达到预设数量时,生成所述结束信息,并将所述结束信息发送给所述通信管理器。
12.根据权利要求8所述的装置,其特征在于,所述超参数确定装置还包括生成模块,所述生成模块,用于当检测到所述进程池连续预设次数输出的验证分数均大于预设分数时,生成结束指令,将所述结束指令发送至所述进程池,所述结束指令用于指示所述进程池停止新增进程。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911257367.0A CN111061875B (zh) | 2019-12-10 | 2019-12-10 | 超参数确定方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911257367.0A CN111061875B (zh) | 2019-12-10 | 2019-12-10 | 超参数确定方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061875A CN111061875A (zh) | 2020-04-24 |
CN111061875B true CN111061875B (zh) | 2023-09-15 |
Family
ID=70300329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911257367.0A Active CN111061875B (zh) | 2019-12-10 | 2019-12-10 | 超参数确定方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061875B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114465952B (zh) * | 2022-01-20 | 2023-12-01 | 绿盟科技集团股份有限公司 | 一种配置参数的管理方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110861A (zh) * | 2019-05-09 | 2019-08-09 | 北京市商汤科技开发有限公司 | 确定模型超参数及模型训练的方法和装置、存储介质 |
-
2019
- 2019-12-10 CN CN201911257367.0A patent/CN111061875B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110861A (zh) * | 2019-05-09 | 2019-08-09 | 北京市商汤科技开发有限公司 | 确定模型超参数及模型训练的方法和装置、存储介质 |
Non-Patent Citations (1)
Title |
---|
IamHC123.Python多进程.《博客园:https://www.cnblogs.com/IamHC/p/11385314.html》.2009,参见正文第1页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111061875A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210334624A1 (en) | Neural architecture search using a performance prediction neural network | |
US11544536B2 (en) | Hybrid neural architecture search | |
US20230229978A1 (en) | Debugging correctness issues in training machine learning models | |
US20210295162A1 (en) | Neural network model training method and apparatus, computer device, and storage medium | |
EP3819821A1 (en) | User feature generating method, device, and apparatus, and computer-readable storage medium | |
CN109992601B (zh) | 待办事项信息的推送方法、装置和计算机设备 | |
US11354594B2 (en) | Black-box optimization using neural networks | |
CN111340237A (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
US20150278706A1 (en) | Method, Predictive Analytics System, and Computer Program Product for Performing Online and Offline Learning | |
US11645562B2 (en) | Search point determining method and search point determining apparatus | |
US11966204B2 (en) | Determining causal models for controlling environments | |
CN110824587B (zh) | 图像预测方法、装置、计算机设备和存储介质 | |
CN110321284B (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
US9269057B1 (en) | Using specialized workers to improve performance in machine learning | |
CN112231224A (zh) | 基于人工智能的业务系统测试方法、装置、设备和介质 | |
CN110910864A (zh) | 训练样本的选取方法、装置、计算机设备和存储介质 | |
CN112416778A (zh) | 测试用例推荐方法、装置和电子设备 | |
Lee et al. | Patch reviewer recommendation in oss projects | |
CN111582488A (zh) | 一种事件推演方法及装置 | |
CN111061875B (zh) | 超参数确定方法、装置、计算机设备和存储介质 | |
CN108334452B (zh) | 规则数据移交测试方法、装置、计算机设备和存储介质 | |
CN111079175B (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
Zhang et al. | PACE: Prompting and Augmentation for Calibrated Confidence Estimation with GPT-4 in Cloud Incident Root Cause Analysis | |
US10467530B2 (en) | Searching text via function learning | |
US20160004982A1 (en) | Method and system for estimating the progress and completion of a project based on a bayesian network |
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 |