move back delayed and wrap_non_picklable_objects from hyperopt_optimizer to hyperopt.

There are tests failing when using delayed and wrap_non_picklable_objects as decorator.
until I'll find a solution to run generate_optimizer standalone for analyze_per_epoch=True
This commit is contained in:
viotemp1
2025-04-29 08:16:44 +03:00
parent c32f8e972a
commit 5c47a75f63
2 changed files with 5 additions and 5 deletions

View File

@@ -14,7 +14,7 @@ from pathlib import Path
from typing import Any
import rapidjson
from joblib import Parallel, cpu_count
from joblib import Parallel, cpu_count, delayed, wrap_non_picklable_objects
from freqtrade.constants import FTHYPT_FILEVERSION, LAST_BT_RESULT_FN, Config
from freqtrade.enums import HyperoptState
@@ -160,7 +160,9 @@ class Hyperopt:
return self.hyperopter.generate_optimizer(*args, **kwargs)
return parallel(optimizer_wrapper(v) for v in asked)
return parallel(
delayed(wrap_non_picklable_objects(optimizer_wrapper))(v) for v in asked
)
def _set_random_state(self, random_state: int | None) -> int:
return random_state or random.randint(1, 2**16 - 1) # noqa: S311

View File

@@ -11,7 +11,7 @@ from pathlib import Path
from typing import Any
import optuna
from joblib import dump, load, delayed, wrap_non_picklable_objects
from joblib import dump, load
from joblib.externals import cloudpickle
from optuna.exceptions import ExperimentalWarning
from pandas import DataFrame
@@ -260,8 +260,6 @@ class HyperOptimizer:
# noinspection PyProtectedMember
attr.value = params_dict[attr_name]
@delayed
@wrap_non_picklable_objects
def generate_optimizer(self, raw_params: dict[str, Any]) -> dict[str, Any]:
"""
Used Optimize function.