From: Jérôme Benoit Date: Sat, 31 Jan 2026 20:48:50 +0000 (+0100) Subject: fix(ReforceXY): use .item() to extract scalar from action array X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=123843f1848335800298d3eb15c7e78c4622c347;p=freqai-strategies.git fix(ReforceXY): use .item() to extract scalar from action array SB3 model.predict() returns 1D array when vectorized_env=True is detected, causing int() to fail on non-0D arrays. --- diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 16d185e..174a78e 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -1177,7 +1177,8 @@ class ReforceXY(BaseReinforcementLearningModel): **action_masks_param, ) episode_start[:] = False - logger.debug("Predict [%s]: predicted action=%d", dk.pair, int(action)) + action = int(action.item()) + logger.debug("Predict [%s]: predicted action=%d", dk.pair, action) else: logger.debug( "Predict [%s]: model.predict (observations.shape=%s)", @@ -1187,9 +1188,10 @@ class ReforceXY(BaseReinforcementLearningModel): action, _ = model.predict( observations, deterministic=True, **action_masks_param ) - logger.debug("Predict [%s]: predicted action=%d", dk.pair, int(action)) + action = int(action.item()) + logger.debug("Predict [%s]: predicted action=%d", dk.pair, action) - return int(action) + return action predicted_actions: List[int] = [] for start_idx in range(0, n - window_size + 1):