class_docstr: LightningModule class for the model MQF2 proposed in the paper
  ``Multivariate Quantile Function Forecaster``
  by Kan, Aubet, Januschowski, Park, Benidis, Ruthotto, Gasthaus
  
  This is the multi-horizon (multivariate in time step) variant of MQF2
  
  This class is based on
  gluonts.torch.model.deepar.lightning_module.DeepARLightningModule
  
  Parameters
  ----------
  model_kwargs
      Keyword arguments to construct the ``MQF2MultiHorizonModel`` to be trained.
  loss
      Distribution loss.
  lr
      Learning rate.
  weight_decay
      Weight decay during training.
  patience
      Patience parameter for learning rate scheduler, default: ``10``.
code: def __init__(
      self,
      model_kwargs: dict,
      lr: float = 1e-3,
      weight_decay: float = 1e-8,
      patience: int = 10,
  ) -> None:
      super().__init__()
      self.save_hyperparameters()
      self.model = MQF2MultiHorizonModel(**model_kwargs)
      self.lr = lr
      self.weight_decay = weight_decay
      self.patience = patience
      self.inputs = self.model.describe_inputs()
      self.example_input_array = self.inputs.zeros()
  
file_path: gluonts/src/gluonts/torch/model/mqf2/lightning_module.py
imports: from typing import Dict
  import lightning.pytorch
  import torch
  from torch.optim.lr_scheduler import ReduceLROnPlateau
  from gluonts.core.component import validated
  from gluonts.itertools import select
  from .module import MQF2MultiHorizonModel
label_desc: Use image node_id 1 to create a new MQF2MultiHorizonLightningModule object from inherited base classes: pl with example: obj = MQF2MultiHorizonLightningModule(model_kwargs, lr, weight_decay, patience)