TypeError: "set_postfix() argument after ** must be a mapping, not str" using Hyperopt
TypeError: "set_postfix() argument after ** must be a mapping, not str" using Hyperopt
我尝试运行这个简单的例子:
from hyperopt import fmin, tpe, hp
best = fmin(
fn=lambda x: (x-1)**2,
space=hp.uniform('x', -2, 2),
algo=tpe.suggest,
max_evals=100)
print(best)
但这是我在控制台中得到的:
...\WinPython\python-3.6.5.amd64\Lib\site-packages\tqdm\_tqdm.py", line 792, in __init__
self.set_postfix(refresh=False, **postfix)
TypeError: set_postfix() ** 之后的参数必须是一个映射,而不是 str
为什么?
提前致谢!
不确定这是否有帮助。当我尝试调整随机森林分类器模型时,我遇到了同样的错误。我将 objective 函数参数从 **params 更改为 *args 并修复了错误:)
我尝试运行这个简单的例子:
from hyperopt import fmin, tpe, hp
best = fmin(
fn=lambda x: (x-1)**2,
space=hp.uniform('x', -2, 2),
algo=tpe.suggest,
max_evals=100)
print(best)
但这是我在控制台中得到的:
...\WinPython\python-3.6.5.amd64\Lib\site-packages\tqdm\_tqdm.py", line 792, in __init__
self.set_postfix(refresh=False, **postfix)
TypeError: set_postfix() ** 之后的参数必须是一个映射,而不是 str
为什么?
提前致谢!
不确定这是否有帮助。当我尝试调整随机森林分类器模型时,我遇到了同样的错误。我将 objective 函数参数从 **params 更改为 *args 并修复了错误:)