code: def __init__(
      self,
      rank: int,
      dim: Optional[int] = None,  # needed to compute variance
      sigma_init: float = 1.0,
      mu_ratio: float = 1.0,
      dropout_rate: float = 0.0,
  ) -> None:
      super().__init__(self)
      self.dist_cls = LowrankMultivariateGaussian
      self.dim = dim
      self.rank = rank
      self.args_dim = {"mu": 1, "sigma": 1, "w": rank}
      self.mu_bias = 0.0
      self.sigma_init = sigma_init
      self.mu_ratio = mu_ratio
      self.dropout_rate = dropout_rate
  
file_path: gluonts/src/gluonts/mx/distribution/lowrank_gp.py
imports: from collections import OrderedDict
  from typing import Optional, Tuple
  from mxnet import gluon
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from .None import LowrankMultivariateGaussian
  from .distribution_output import ArgProj, DistributionOutput, AffineTransformedDistribution
  from .lowrank_multivariate_gaussian import inv_softplus, sigma_minimum
label_desc: Use image node_id 1 to create a new LowrankGPOutput object from inherited base classes: DistributionOutput with example: obj = LowrankGPOutput(rank, dim, sigma_init, mu_ratio, dropout_rate)