class_docstr: Base Multivariate
  
  Base class for all multivariate models. The forecasts for all time-series are produced simultaneously
  within each window, which are randomly sampled during training.
  
  This class implements the basic functionality for all windows-based models, including:
  - PyTorch Lightning's methods training_step, validation_step, predict_step.<br>
  - fit and predict methods used by NeuralForecast.core class.<br>
  - sampling and wrangling methods to generate multivariate windows.
class_docstr_tok: ["Base","Multivariate","Base","class","for","all","multivariate","models",".","The","forecasts","for","all","time-series","are","produced","simultaneously","within","each","window",",","which","are","randomly","sampled","during","training",".","This","class","implements","the","basic","functionality","for","all","windows-based","models",",","including",":","-","PyTorch","Lightning","'s","methods","training_step",",","validation_step",",","predict_step.","<","br",">","-","fit","and","predict","methods","used","by","NeuralForecast.core","class.","<","br",">","-","sampling","and","wrangling","methods","to","generate","multivariate","windows","."]
code: def configure_optimizers(self):
      optimizer = torch.optim.Adam(
          self.parameters(), lr=self.learning_rate
      )
      scheduler = {
          "scheduler": torch.optim.lr_scheduler.StepLR(
              optimizer=optimizer,
              step_size=self.lr_decay_steps,
              gamma=0.5,
          ),
          "frequency": 1,
          "interval": "step",
      }
      return {"optimizer": optimizer, "lr_scheduler": scheduler}
  
imports: import random
  import warnings
  import numpy
  import torch
  import torch.nn
  import pytorch_lightning
  from pytorch_lightning.callbacks import TQDMProgressBar
  from pytorch_lightning.callbacks.early_stopping import EarlyStopping
  from ._scalers import TemporalNorm
  from ..tsdataset import TimeSeriesDataModule
  from ..utils import get_indexer_raise_missing
label_desc: Use image node_id 4 for calling the BaseMultivariate obj's underlying member method code with example usage: obj.configure_optimizers() and returns: dict