From b0cb1389634e8429de6fc25cb4673c2342446125 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 24 Oct 2025 21:43:10 +0200 Subject: [PATCH] fix(reforcexy): load previous best params at hyperopt only if needed MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- ReforceXY/user_data/freqaimodels/ReforceXY.py | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 4b3be9a..70abc61 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -295,21 +295,24 @@ class ReforceXY(BaseReinforcementLearningModel): model_reward_parameters = rl_cfg.setdefault("model_reward_parameters", {}) gamma: Optional[float] = None - best_trial_params: Optional[Dict[str, Any]] = None - if self.hyperopt: - best_trial_params = self.load_best_trial_params(pair) if model_params and isinstance(model_params.get("gamma"), (int, float)): gamma = float(model_params.get("gamma")) - elif best_trial_params and isinstance( - best_trial_params.get("gamma"), (int, float) - ): - gamma = float(best_trial_params.get("gamma")) - elif hasattr(self.model, "gamma") and isinstance( - self.model.gamma, (int, float) + elif self.hyperopt: + best_trial_params = self.load_best_trial_params(pair) + if best_trial_params and isinstance( + best_trial_params.get("gamma"), (int, float) + ): + gamma = float(best_trial_params.get("gamma")) + + if ( + gamma is None + and hasattr(self.model, "gamma") + and isinstance(self.model.gamma, (int, float)) ): gamma = float(self.model.gamma) - else: + + if gamma is None: model_params_gamma = self.get_model_params().get("gamma") if isinstance(model_params_gamma, (int, float)): gamma = float(model_params_gamma) -- 2.43.0