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

时间:2014-07-10 10:05:10

标签: optimization machine-learning scikit-learn deep-learning

如果有人可以提供帮助:

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

2 个答案:

答案 0 :(得分:3)

在hyperopt的github上交换之后:

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

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

答案 1 :(得分:0)

感谢您对@doxav进行调查。我编写了一些解决问题1的代码,参与fn_with_timeout中的hyperopt-sklearn并将其调整为标准的Hyperopt成本函数。

你可以在这里找到它: https://gist.github.com/hunse/247d91d14aaa8f32b24533767353e35d