Spaces:
Sleeping
Sleeping
| # config.py | |
| import os | |
| # Base Directory | |
| BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) | |
| # Data paths | |
| DATA_PATH = os.path.join(BASE_DIR, "..", "data", "processed", "energy_consumption_aggregated_cleaned.csv") | |
| # Other paths | |
| CHECKPOINT_DIR = os.path.join(BASE_DIR, "model", "checkpoints") | |
| RESULTS_DIR = os.path.join(BASE_DIR, "results") | |
| # ========== Model Settings ========== | |
| SEQ_LEN = 512 # Input sequence length (number of time steps the model sees) | |
| FORECAST_HORIZON = 1 # Number of future steps the model should predict | |
| HEAD_DROPOUT = 0.1 # Dropout in the head to prevent overfitting | |
| WEIGHT_DECAY = 0.0 # L2 regularization (0 means off) | |
| # ========== Training Settings ========== | |
| MAX_EPOCHS = 9 # Optimal number of epochs based on performance curve | |
| BATCH_SIZE = 32 # Batch size for training and evaluation | |
| LEARNING_RATE = 1e-4 # Base learning rate | |
| MAX_LR = 1e-4 # Max LR for OneCycleLR scheduler | |
| GRAD_CLIP = 5.0 # Gradient clipping threshold | |
| # ========== Freezing Strategy ========== | |
| FREEZE_ENCODER = True | |
| FREEZE_EMBEDDER = True | |
| FREEZE_HEAD = False #just unfreeze the last forecasting head for finetuning | |