我想搜索其中一个依赖于另一个的参数,这与StackOverflow question 中描述的非常相似,但是当我运行时,我遇到了以下问题:
TypeError: len of pyll.Apply either undefined or unknown
阅读对问题的评论看起来像是在 hyperopt 的 0.2.3 版中发生了变化。知道如何在当前版本上处理此类问题吗?下面的代码重现了我面临的错误。
from hyperopt import fmin, tpe, hp, STATUS_OK
def f(x):
return {'loss': x['foo']*x['bar'], 'status':STATUS_OK}
_foo = hp.uniform('foo', 0, 1)
_bar = hp.uniform('bar', _foo, 1)
space = {
'foo': _foo,
'bar': _bar
}
best = fmin(
f,
space=space,
max_evals=100,
algo=tpe.suggest
)
print(best)