この 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)