docstr: Parameters
  ----------
  F
  x : (..., dim, hidden_dim)
  
  Returns
  -------
  Returns (mu, D, W) where shapes are (..., dim), (..., dim),
  (..., dim, rank)
docstr_tok: ["Parameters","--","--","--","--","--","F","x",":","(","...",",","dim",",","hidden_dim",")","Returns","--","--","--","-","Returns","(","mu",",","D",",","W",")","where","shapes","are","(","...",",","dim",")",",","(","...",",","dim",")",",","(","...",",","dim",",","rank",")"]
code: def hybrid_forward(
      self, F, x: Tensor
  ) -> Tuple[Tensor, Tensor, Tensor]:
      """
  
      Parameters
      ----------
      F
      x : (..., dim, hidden_dim)
  
      Returns
      -------
      Returns (mu, D, W) where shapes are (..., dim), (..., dim),
      (..., dim, rank)
      """
  
      # TODO 2 concatenate inputs features to x, better names would be great
  
      # (..., dim)
      mu_vector = self.proj[0](x).squeeze(axis=-1)
  
      mu = mu_vector * self.mu_ratio
  
      # (..., dim, rank)
      W_matrix = self.proj[2](x) * self.W_ratio
  
      # (..., |x| + 1)
      x_plus_w = F.concat(
          x, W_matrix.square().sum(axis=-1, keepdims=True), dim=-1
      )
  
      # (..., dim)
      D_vector = self.proj[1](x_plus_w).squeeze(axis=-1)
  
      d_bias = (
          0.0
          if self.sigma_init == 0.0
          else inv_softplus(self.sigma_init**2)
      )
  
      D_positive = (
          F.Activation(D_vector + d_bias, act_type="softrelu")
          + self.sigma_minimum
      )
  
      return mu, D_positive, W_matrix
  
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 2 for calling the GPArgProj obj's underlying member method code with example usage: obj.hybrid_forward(F, x) and returns: mu,  D_positive,  W_matrix