Runtime Errors#
AttributeError: ‘X’ object has no attribute ‘run’#
Cause: Using v4 method names with v5 optimizers.
Solution: Use .solve() instead of .run():
# Old (v4)
hyper.run()
# New (v5)
best_params = optimizer.solve()
TypeError: unexpected keyword argument#
Cause: Parameter passing changed in v5. All configuration now goes to the optimizer constructor.
Solution:
# Old (v4)
hyper.add_search(model, space, optimizer=opt, n_iter=100)
# New (v5)
optimizer = HillClimbing(
search_space=space,
n_iter=100,
experiment=objective,
)
ValueError: Parameters do not match#
Cause: Your search space keys don’t match what the experiment expects.
Solution: Ensure search space keys match the parameters your objective function or experiment expects:
# Search space defines "learning_rate"
search_space = {"learning_rate": [0.01, 0.1]}
# Objective must use the same key
def objective(params):
lr = params["learning_rate"] # Not "lr" or "LearningRate"
...