quick start
Here is an example to train DLinear model in a long-term forecast settings, see ../examples/quickstart.py for more details
quick start
1from torch_timeseries.dataset import ETTh1
2from torch_timeseries.dataloader import StandardScaler, SlidingWindow, SlidingWindowTS
3from torch_timeseries.model import DLinear
4from torch.nn import MSELoss, L1Loss
5from torch.optim import Adam
6dataset = ETTh1('./data')
7scaler = StandardScaler()
8dataloader = SlidingWindowTS(dataset,
9 window=96,
10 horizon=1,
11 steps=336,
12 batch_size=32,
13 train_ratio=0.7,
14 val_ratio=0.2,
15 scaler=scaler,
16 )
17model = DLinear(dataloader.window, dataloader.steps, dataset.num_features, individual= True)
18
19optimizer = Adam(model.parameters())
20loss_function = MSELoss()
21
22
23# train
24model.train()
25for scaled_x, scaled_y, x, y, x_date_enc, y_date_enc in dataloader.train_loader:
26 optimizer.zero_grad()
27
28 scaled_x = scaled_x.float()
29 scaled_y = scaled_y.float()
30 scaled_pred_y = model(scaled_x)
31
32 loss = loss_function(scaled_pred_y, scaled_y)
33 loss.backward()
34 optimizer.step()
35 print(loss)