fix: duplicate generate_optimizer to have a non-delayed alternative

This commit is contained in:
Matthias
2025-05-03 09:19:50 +02:00
parent d9ed7e1fb2
commit 1013c32316
3 changed files with 6 additions and 7 deletions

View File

@@ -157,7 +157,7 @@ class Hyperopt:
log_queue, logging.INFO if self.config["verbosity"] < 1 else logging.DEBUG
)
return self.hyperopter.generate_optimizer(*args, **kwargs)
return self.hyperopter.generate_optimizer_wrapped(*args, **kwargs)
# return parallel(delayed(wrap_non_picklable_objects(optimizer_wrapper))(v) for v in asked)
return parallel(optimizer_wrapper(v) for v in asked)

View File

@@ -237,9 +237,7 @@ class HyperOptimizer:
+ self.max_open_trades_space
)
def assign_params(
self, params_dict: dict[str, Any], category: str
) -> None:
def assign_params(self, params_dict: dict[str, Any], category: str) -> None:
"""
Assign hyperoptable parameters
"""
@@ -250,6 +248,9 @@ class HyperOptimizer:
@delayed
@wrap_non_picklable_objects
def generate_optimizer_wrapped(self, raw_params: dict[str, Any]) -> dict[str, Any]:
return self.generate_optimizer(raw_params)
def generate_optimizer(self, raw_params: dict[str, Any]) -> dict[str, Any]:
"""
Used Optimize function.

View File

@@ -605,9 +605,7 @@ def test_generate_optimizer(mocker, hyperopt_conf) -> None:
hyperopt.hyperopter.min_date = dt_utc(2017, 12, 10)
hyperopt.hyperopter.max_date = dt_utc(2017, 12, 13)
hyperopt.hyperopter.init_spaces()
generate_optimizer_value = hyperopt.hyperopter.generate_optimizer._obj(
hyperopt.hyperopter, raw_params=optimizer_param
)
generate_optimizer_value = hyperopt.hyperopter.generate_optimizer(optimizer_param)
assert generate_optimizer_value == response_expected