Hyperopt 设置超时并在执行期间修改空间

dox*_*xav 3 optimization machine-learning scikit-learn deep-learning

如果有人可以帮助:

  1. 如何为每个单独的测试设置超时?整个实验的超时时间?
  2. 如何设置渐进式策略,在实验的不同阶段(同时使用当前的优化算法)消除/修剪搜索空间的最差评分分支的百分比?IE。在最大总实验的 30% 时,它可以删除 50% 的最差评分分类器及其所有超参数分支,以将其从即将进行的测试中删除。然后,同样的过程在 60%...

非常感谢!

dox*_*xav 5

按照我在 hyperopt 的 github 上的交流:

  1. 没有每次试验超时,但 hyperopt-sklearn 仅通过包装函数来实现自己的解决方案。请在https://github.com/hyperopt/hyperopt-sklearn/寻找“fn_with_timeout” 。

  2. 来自问题 210:“优化器是无状态的,fmin 将实验的所有状态存储在试验对象中。因此,如果您从试验对象中删除一些实验,就好像它们从未发生过一样。使用 fmin 的“max_evals”参数中断搜索与您需要进行此类修改一样频繁。如果您想要真正细粒度的控制,最好使用重复调用,例如 max_evals 每次增加 1。”