File size: 1,018 Bytes
902fa1b
 
 
 
 
 
 
 
 
 
 
 
 
f5dc5cd
902fa1b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import time
import os
import json

def continual_train_loop():
    print("[Continual Training] Loop started. Waiting for new data...")
    while True:
        if os.path.exists("data/new_data.csv"):
            print("[Continual Training] New data found! Fine-tuning model...")
            from src.continual_train import continual_train
            continual_train(progress_callback=log_training_progress)
            os.remove("data/new_data.csv")
            print("[Continual Training] Model updated and new data file removed.")
        time.sleep(7200)  # Check every 2 hours

def log_training_progress(epoch, train_loss, val_loss, best_val_loss):
    progress = {
        "epoch": epoch,
        "train_loss": train_loss,
        "val_loss": val_loss,
        "best_val_loss": best_val_loss,
        "timestamp": time.time()
    }
    os.makedirs("data", exist_ok=True)
    with open("data/training_progress.json", "w") as f:
        json.dump(progress, f)

if __name__ == "__main__":
    continual_train_loop()