繁体   English   中英

Trains 应该如何与 RayTune 等超参数优化工具一起使用?

[英]How should Trains be used with hyper-param optimization tools like RayTune?

什么是合理的设置? 我可以在同一次执行中多次调用 Task.init() 吗?

免责声明:我是 allegro.ai Trains 团队的一员

一种解决方案是从trains.automation.optimization.SearchStrategy继承并扩展功能。 这类似于Optuna集成,其中 Optuna 用于贝叶斯优化,而 Trains 执行超参数设置、启动实验和检索性能指标。

另一种选择(不可扩展但可能更容易开始)是使用 RayTuner 运行您的代码(显然设置环境/git repo/docker 等在用户身上),并使您的训练代码看起来像:

# create new experimnt
task = Task.init('hp optimization', 'ray-tuner experiment', reuse_last_task_id=False)
# store the hyperparams (assuming hparam is a dict) 
task.connect(hparam) 
# training loop here
# ...
# shutdown experimnt
task.close()

这意味着每次 RayTuner 执行脚本时都会创建一个新的实验,并带有一组新的超参数(假设haparm是一个字典,它将在实验中注册为超参数)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM