Quarter embedding using trigonometry + more thesis writing
This commit is contained in:
@@ -2,7 +2,7 @@ from src.utils.clearml import ClearMLHelper
|
||||
|
||||
#### ClearML ####
|
||||
clearml_helper = ClearMLHelper(project_name="Thesis/NrvForecast")
|
||||
task = clearml_helper.get_task(task_name="AQR: Linear Baseline")
|
||||
task = clearml_helper.get_task(task_name="AQR: Linear Baseline + Quarter Trigonometric")
|
||||
task.execute_remotely(queue_name="default", exit_process=True)
|
||||
|
||||
from src.policies.PolicyEvaluator import PolicyEvaluator
|
||||
@@ -20,7 +20,7 @@ from src.losses import *
|
||||
import torch
|
||||
from torch.nn import MSELoss, L1Loss
|
||||
import torch.nn as nn
|
||||
from src.models.time_embedding_layer import TimeEmbedding
|
||||
from src.models.time_embedding_layer import TimeEmbedding, TrigonometricTimeEmbedding
|
||||
|
||||
|
||||
#### Data Processor ####
|
||||
@@ -30,18 +30,21 @@ data_config.NRV_HISTORY = True
|
||||
data_config.LOAD_HISTORY = True
|
||||
data_config.LOAD_FORECAST = True
|
||||
|
||||
data_config.WIND_FORECAST = False
|
||||
data_config.WIND_HISTORY = False
|
||||
data_config.WIND_FORECAST = True
|
||||
data_config.WIND_HISTORY = True
|
||||
|
||||
data_config.QUARTER = False
|
||||
data_config.PV_FORECAST = True
|
||||
data_config.PV_HISTORY = True
|
||||
|
||||
data_config.QUARTER = True
|
||||
data_config.DAY_OF_WEEK = False
|
||||
|
||||
data_config.NOMINAL_NET_POSITION = False
|
||||
data_config.NOMINAL_NET_POSITION = True
|
||||
|
||||
|
||||
data_config = task.connect(data_config, name="data_features")
|
||||
|
||||
data_processor = DataProcessor(data_config, path="", lstm=True)
|
||||
data_processor = DataProcessor(data_config, path="", lstm=False)
|
||||
data_processor.set_batch_size(512)
|
||||
data_processor.set_full_day_skip(False)
|
||||
|
||||
@@ -67,7 +70,7 @@ model_parameters = {
|
||||
"hidden_size": 256,
|
||||
"num_layers": 2,
|
||||
"dropout": 0.2,
|
||||
"time_feature_embedding": 8,
|
||||
"time_feature_embedding": 2,
|
||||
}
|
||||
|
||||
model_parameters = task.connect(model_parameters, name="model_parameters")
|
||||
@@ -76,6 +79,8 @@ model_parameters = task.connect(model_parameters, name="model_parameters")
|
||||
# data_processor.get_time_feature_size(), model_parameters["time_feature_embedding"]
|
||||
# )
|
||||
|
||||
time_embedding = TrigonometricTimeEmbedding(data_processor.get_time_feature_size())
|
||||
|
||||
# lstm_model = GRUModel(
|
||||
# time_embedding.output_dim(inputDim),
|
||||
# len(quantiles),
|
||||
@@ -92,11 +97,11 @@ model_parameters = task.connect(model_parameters, name="model_parameters")
|
||||
# dropout=model_parameters["dropout"],
|
||||
# )
|
||||
|
||||
# linear_model = LinearRegression(time_embedding.output_dim(inputDim), len(quantiles))
|
||||
linear_model = LinearRegression(inputDim, len(quantiles))
|
||||
linear_model = LinearRegression(time_embedding.output_dim(inputDim), len(quantiles))
|
||||
# linear_model = LinearRegression(inputDim, len(quantiles))
|
||||
|
||||
# model = nn.Sequential(time_embedding, lstm_model)
|
||||
model = linear_model
|
||||
model = nn.Sequential(time_embedding, linear_model)
|
||||
# model = linear_model
|
||||
model.output_size = 1
|
||||
optimizer = torch.optim.Adam(model.parameters(), lr=model_parameters["learning_rate"])
|
||||
|
||||
@@ -121,7 +126,7 @@ trainer.add_metrics_to_track(
|
||||
[PinballLoss(quantiles), MSELoss(), L1Loss(), CRPSLoss(quantiles)]
|
||||
)
|
||||
trainer.early_stopping(patience=5)
|
||||
trainer.plot_every(2)
|
||||
trainer.plot_every(15)
|
||||
trainer.train(task=task, epochs=epochs, remotely=True)
|
||||
|
||||
### Policy Evaluation ###
|
||||
|
||||
Reference in New Issue
Block a user