[英]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.