From 070d58f2bf0d90fe935419a3c6bf896a65aafc4b Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 4 Feb 2025 21:16:35 +0200 Subject: [PATCH] always start from best model --- crypto/brian/index-deep-new.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crypto/brian/index-deep-new.py b/crypto/brian/index-deep-new.py index 7eecd9c..98fbfec 100644 --- a/crypto/brian/index-deep-new.py +++ b/crypto/brian/index-deep-new.py @@ -355,6 +355,7 @@ def parse_args(): parser.add_argument('--epochs', type=int, default=100) parser.add_argument('--lr', type=float, default=3e-4) parser.add_argument('--threshold', type=float, default=0.005) + parser.add_argument('--start_fresh', action='store_true', help='Start training from scratch ignoring saved checkpoints.') return parser.parse_args() def random_action(): @@ -379,7 +380,18 @@ async def main(): return base_tf = "1m" env = BacktestEnvironment(candles_dict, base_tf, timeframes) - train_on_historical_data(env, model, device, args) + start_epoch = 0 + if not args.start_fresh: + checkpoint = load_best_checkpoint(model) + if checkpoint is not None: + start_epoch = checkpoint.get("epoch", 0) + 1 + print(f"Resuming training from epoch {start_epoch}.") + else: + print("No checkpoint found. Starting training from scratch.") + else: + print("Starting training from scratch as requested.") + + train_on_historical_data(env, model, device, args, start_epoch=start_epoch) elif args.mode == 'live': load_best_checkpoint(model) candles_dict = load_candles_cache(CACHE_FILE)