I am trying to create an RNN with learning rate scheduler using DARTS and start fitting:
rnn_model2_cov = RNNModel(model= 'GRU',
hidden_dim=30,
input_chunk_length=200,
output_chunk_length=100,
random_state=42,
n_rnn_layers=4,
batch_size=1024,
dropout= 0.1,
optimizer_kwargs={'lr': 1e-3},
optimizer_cls = torch.optim.Adam ,
lr_scheduler_cls = torch.optim.lr_scheduler.ReduceLROnPlateau ,
log_tensorboard=False,
nr_epochs_val_period = 5
)
rnn_model2_cov.fit(series=z[:15000]],
future_covariates=[covary],
num_loader_workers=0,
epochs = 100,
verbose=True
)
Fitting starts up and crashes with an error:
File "C:\Users\micha\anaconda3\envs\darts_env\lib\site-packages\darts\utils\torch.py", line 65, in decorator
return decorated(self, *args, **kwargs)
File "C:\Users\micha\anaconda3\envs\darts_env\lib\site-packages\darts\models\forecasting\torch_forecasting_model.py", line 436, in fit
self.fit_from_dataset(train_dataset, val_dataset, verbose, epochs, num_loader_workers)
File "C:\Users\micha\anaconda3\envs\darts_env\lib\site-packages\darts\utils\torch.py", line 65, in decorator
return decorated(self, *args, **kwargs)
File "C:\Users\micha\anaconda3\envs\darts_env\lib\site-packages\darts\models\forecasting\torch_forecasting_model.py", line 530, in fit_from_dataset
self._train(train_loader, val_loader, tb_writer, verbose, train_num_epochs)
File "C:\Users\micha\anaconda3\envs\darts_env\lib\site-packages\darts\models\forecasting\torch_forecasting_model.py", line 827, in _train
self.lr_scheduler.step()
TypeError: step() missing 1 required positional argument: 'metrics'
How & where can I pass the missing metric and how do I formulate the other arguments with lr_scheduler_kwargs={ } ? It seems to need an optimizer class as argument?
The documentation is quiet good, but very brief on this particular topic.