
第1步:从代码中解耦出搜索参数
提取想要调整的参数,将它们放在脚本顶部的字典中,这样做之后,便可以有效地将搜索参数与代码的其余部分解耦。
第2步:将训练和评估打包为一个函数
第3步:运行超参数调整脚本
快要实现了。
现在,利用train_evaluate函数作为选定的黑盒优化库的目标。
Scikit Optimize
https://neptune.ai/blog/scikit-optimize
定义搜索空间,
创建目标函数以对它最小化,
通过forest_minimize函数运行优化。
注:如果想在训练结束后进行可视化,并保存诊断图表,那么可以向Neptune中添加一个回调函数和一个记录每次超参数搜索的函数。只需调用库中 helper function from neptune-contrib。
helper function from neptune-contrib
https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=10&token=832229466&lang=zh_CN#NeptuneMonitor
skopt hyperparameter sweep experiment
https://ui.neptune.ai/jakub-czakon/blog-hpo/e/BLOG-369/charts
结语
相关文献:
超参数优化实战
如何自动实现超参数优化
用Google Colab的Hyperas实现 Keras超参数调优
原文标题:
How to Do Hyperparameter Tuning on Any Python Script in 3 Easy Steps
原文链接:
https://www.kdnuggets.com/2020/04/hyperparameter-tuning-python.html