study_name = f"hp-{dk.pair}"
storage = self.optuna_storage(dk)
pruner = optuna.pruners.HyperbandPruner()
- try:
- optuna.delete_study(study_name=study_name, storage=storage)
- except Exception:
- pass
+ previous_study = self.optuna_previous_study(study_name, storage)
study = optuna.create_study(
study_name=study_name,
sampler=optuna.samplers.TPESampler(
direction=optuna.study.StudyDirection.MINIMIZE,
storage=storage,
)
+ if previous_study:
+ study.enqueue_trial(previous_study.best_params)
start = time.time()
try:
study.optimize(
study_name = f"period-{dk.pair}"
storage = self.optuna_storage(dk)
pruner = optuna.pruners.HyperbandPruner()
- try:
- optuna.delete_study(study_name=study_name, storage=storage)
- except Exception:
- pass
+ previous_study = self.optuna_previous_study(study_name, storage)
study = optuna.create_study(
study_name=study_name,
sampler=optuna.samplers.TPESampler(
direction=optuna.study.StudyDirection.MINIMIZE,
storage=storage,
)
+ if previous_study:
+ study.enqueue_trial(previous_study.best_params)
start = time.time()
try:
study.optimize(
logger.info(f"Optuna period hyperopt | {key:>20s} : {value}")
return params
+ def optuna_previous_study(
+ self, study_name: str, storage
+ ) -> optuna.study.Study | None:
+ try:
+ previous_study = optuna.load_study(study_name=study_name, storage=storage)
+ previous_study.best_params
+ except Exception:
+ previous_study = None
+ try:
+ optuna.delete_study(study_name=study_name, storage=storage)
+ except Exception:
+ pass
+ return previous_study
+
def log_sum_exp_min_max_pred(
pred_df: pd.DataFrame, fit_live_predictions_candles: int, label_period_candles: int
study_name = f"hp-{dk.pair}"
storage = self.optuna_storage(dk)
pruner = optuna.pruners.HyperbandPruner()
- try:
- optuna.delete_study(study_name=study_name, storage=storage)
- except Exception:
- pass
+ previous_study = self.optuna_previous_study(study_name, storage)
study = optuna.create_study(
study_name=study_name,
sampler=optuna.samplers.TPESampler(
direction=optuna.study.StudyDirection.MINIMIZE,
storage=storage,
)
+ if previous_study:
+ study.enqueue_trial(previous_study.best_params)
start = time.time()
try:
study.optimize(
study_name = f"period-{dk.pair}"
storage = self.optuna_storage(dk)
pruner = optuna.pruners.HyperbandPruner()
- try:
- optuna.delete_study(study_name=study_name, storage=storage)
- except Exception:
- pass
+ previous_study = self.optuna_previous_study(study_name, storage)
study = optuna.create_study(
study_name=study_name,
sampler=optuna.samplers.TPESampler(
direction=optuna.study.StudyDirection.MINIMIZE,
storage=storage,
)
+ if previous_study:
+ study.enqueue_trial(previous_study.best_params)
start = time.time()
try:
study.optimize(
logger.info(f"Optuna period hyperopt | {key:>20s} : {value}")
return params
+ def optuna_previous_study(
+ self, study_name: str, storage
+ ) -> optuna.study.Study | None:
+ try:
+ previous_study = optuna.load_study(study_name=study_name, storage=storage)
+ previous_study.best_params
+ except Exception:
+ previous_study = None
+ try:
+ optuna.delete_study(study_name=study_name, storage=storage)
+ except Exception:
+ pass
+ return previous_study
+
def log_sum_exp_min_max_pred(
pred_df: pd.DataFrame, fit_live_predictions_candles: int, label_period_candles: int