如何解决火车如何与RayTune等超参数优化工具一起使用?
什么是合理的设置呢?我可以在同一执行中多次调用Task.init()吗?
解决方法
免责声明:我是allegro.ai火车团队的成员
一种解决方案是从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
是一个字典,它将作为超级参数注册在实验上)>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。