[英]How to train h2o automl models iteratively
我试图使用h2o.automl()
进行训练。 但由于超时,训练退出。 我知道max_runtime_secs
可以设置为更高的数字。 但是如果我们可以训练 1 小时,然后将其保存在某个地方就好了。 第二天再次从第一天离开的地方训练它。
怎么做 ?
我尝试通过设置project_name
- 但退出时没有保存任何内容。 所以如果我们关闭电脑并重新启动,它是没有用的。
我为此使用了以下代码:
library( h2o )
h2o.init( nthreads = -1, max_mem_size = '10240m' )
train = h2o.importFile( 'train.csv' )
automl_model = h2o.automl( y = 'outcome', training_frame = train, nfolds = 3, max_runtime_secs = 1800,
project_name = 'automl_aus_tennis' )
链接到 train.csv: http : //www.mediafire.com/file/qj7yiju15ncgnax/train.csv
您可以使用相同的project_name
和不同的种子重复运行h2o.automl()
以构建其他模型并将它们添加到同一个leaderboard
。 我一直这样做。
有一个pull request ,它应该很快就会进入,它允许您指定不运行的算法。 这允许您调整在每次AutoML
运行时执行的超参数搜索。
您需要保持h2o-3
实例运行以实现您的目标,因为您目前无法将AutoML
运行的状态持久AutoML
到磁盘并将其加载到新的h2o-3
实例中,或者将从磁盘加载的模型添加到leaderboard
。 这些将是有用的功能请求。 :-)
如果您关闭 H2O 集群(或机器)并在以后重新启动 H2O 集群,则无法继续运行 H2O AutoML 作业。 如果您让 H2O 集群继续运行,您可以通过再次运行h2o.automl()
并使用相同的project_name
值将更多模型添加到排行榜。
如果您需要在两次运行之间关闭 H2O 集群,那么您能做的最好的事情就是在第二次、第三次、第四h2o.automl()
时间运行h2o.automl()
函数时设置不同的seed
,因为您的随机网格AutoML 运行中的搜索会有所不同。 这样,您可能会获得新模型,而不是您在之前的 AutoML 运行中已经训练过的模型。
从那以后有什么改变吗? 是否可以缓存 AutoML?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.