"max_training_drawdown_pct": 0.02,
"max_trade_duration_candles": 96, // Timeout exit value used with force_actions
"force_actions": false, // Utilize minimal_roi, stoploss, and max_trade_duration_candles as TP/SL/Timeout in the environment
- "n_envs": 1, // Number of DummyVecEnv environments
- "frame_staking": 0, // Number of VecFrameStack stacks (set > 1 to use)
+ "n_envs": 32, // Number of DummyVecEnv environments
+ "frame_staking": 4, // Number of VecFrameStack stacks (set > 1 to use)
"lr_schedule": false, // Enable learning rate linear schedule
"cr_schedule": false, // Enable clip range linear schedule
"max_no_improvement_evals": 0, // Maximum consecutive evaluations without a new best model
storage=storage,
)
self.optuna_hp_enqueue_previous_best_trial(pair, study)
+ logger.info(f"Optuna {study_namespace} hyperopt started")
start = time.time()
try:
study.optimize(
self.model_training_parameters,
),
n_trials=self.__optuna_config.get("n_trials", N_TRIALS),
- n_jobs=self.__optuna_config.get("n_jobs", 1),
+ n_jobs=min(
+ self.__optuna_config.get("n_jobs", 1),
+ max(int(self.max_system_threads / 4), 1),
+ ),
timeout=self.__optuna_config.get("timeout", 3600),
gc_after_trial=True,
)
storage=storage,
)
self.optuna_period_enqueue_previous_best_trial(pair, study)
+ logger.info(f"Optuna {study_namespace} hyperopt started")
start = time.time()
try:
study.optimize(
model_training_parameters,
),
n_trials=self.__optuna_config.get("n_trials", N_TRIALS),
- n_jobs=self.__optuna_config.get("n_jobs", 1),
+ n_jobs=min(
+ self.__optuna_config.get("n_jobs", 1),
+ max(int(self.max_system_threads / 4), 1),
+ ),
timeout=self.__optuna_config.get("timeout", 3600),
gc_after_trial=True,
)
storage=storage,
)
self.optuna_hp_enqueue_previous_best_trial(pair, study)
+ logger.info(f"Optuna {study_namespace} hyperopt started")
start = time.time()
try:
study.optimize(
self.model_training_parameters,
),
n_trials=self.__optuna_config.get("n_trials", N_TRIALS),
- n_jobs=self.__optuna_config.get("n_jobs", 1),
+ n_jobs=min(
+ self.__optuna_config.get("n_jobs", 1),
+ max(int(self.max_system_threads / 4), 1),
+ ),
timeout=self.__optuna_config.get("timeout", 3600),
gc_after_trial=True,
)
storage=storage,
)
self.optuna_period_enqueue_previous_best_trial(pair, study)
+ logger.info(f"Optuna {study_namespace} hyperopt started")
start = time.time()
try:
study.optimize(
model_training_parameters,
),
n_trials=self.__optuna_config.get("n_trials", N_TRIALS),
- n_jobs=self.__optuna_config.get("n_jobs", 1),
+ n_jobs=min(
+ self.__optuna_config.get("n_jobs", 1),
+ max(int(self.max_system_threads / 4), 1),
+ ),
timeout=self.__optuna_config.get("timeout", 3600),
gc_after_trial=True,
)