【问题标题】:Hyperopt set timeouts and modify space during executionHyperopt 在执行期间设置超时和修改空间
【发布时间】:2014-08-31 15:54:37
【问题描述】:

如果有人可以帮忙:

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

非常感谢!

【问题讨论】:

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


    【解决方案1】:

    关注我在 hyperopt 的 github 上的交流:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-16
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 2016-07-14
        • 2010-10-31
        • 1970-01-01
        • 2012-11-18
        相关资源
        最近更新 更多