docstr: Parameters
  ----------
  F
      A module that can either refer to the Symbol API or the NDArray
      API in MXNet.
  past_target
      Training time series values of shape (batch_size, context_length).
  past_time_feat
      Training features of shape (batch_size, context_length,
      num_features).
  future_time_feat
      Test features of shape (batch_size, prediction_length,
      num_features).
  feat_static_cat
      Time series indices of shape (batch_size, 1).
  Returns
  -------
  Tensor
      GP samples of shape (batch_size, num_samples, prediction_length).
docstr_tok: ["Parameters","--","--","--","--","--","F","A","module","that","can","either","refer","to","the","Symbol","API","or","the","NDArray","API","in","MXNet",".","past_target","Training","time","series","values","of","shape","(","batch_size",",","context_length",")",".","past_time_feat","Training","features","of","shape","(","batch_size",",","context_length",",","num_features",")",".","future_time_feat","Test","features","of","shape","(","batch_size",",","prediction_length",",","num_features",")",".","feat_static_cat","Time","series","indices","of","shape","(","batch_size",",","1",")",".","Returns","--","--","--","-","Tensor","GP","samples","of","shape","(","batch_size",",","num_samples",",","prediction_length",")","."]
code: def hybrid_forward(
      self,
      F,
      past_target: Tensor,
      past_time_feat: Tensor,
      future_time_feat: Tensor,
      feat_static_cat: Tensor,
  ) -> Tensor:
      """
      Parameters
      ----------
      F
          A module that can either refer to the Symbol API or the NDArray
          API in MXNet.
      past_target
          Training time series values of shape (batch_size, context_length).
      past_time_feat
          Training features of shape (batch_size, context_length,
          num_features).
      future_time_feat
          Test features of shape (batch_size, prediction_length,
          num_features).
      feat_static_cat
          Time series indices of shape (batch_size, 1).
      Returns
      -------
      Tensor
          GP samples of shape (batch_size, num_samples, prediction_length).
      """
      kernel_args, sigma = self.get_gp_params(
          F, past_target, past_time_feat, feat_static_cat
      )
      gp = GaussianProcess(
          sigma=sigma,
          kernel=self.kernel_output.kernel(kernel_args),
          context_length=self.context_length,
          prediction_length=self.prediction_length,
          num_samples=self.num_parallel_samples,
          float_type=self.float_type,
          max_iter_jitter=self.max_iter_jitter,
          jitter_method=self.jitter_method,
          sample_noise=self.sample_noise,
      )
      samples, _, _ = gp.exact_inference(
          past_time_feat, past_target, future_time_feat
      )  # Shape (batch_size, prediction_length, num_samples)
      return samples.swapaxes(1, 2)
  
file_path: gluonts/src/gluonts/mx/model/gp_forecaster/_network.py
imports: from typing import Tuple, Type
  import mxnet
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from gluonts.mx.distribution.distribution import softplus
  from gluonts.mx.kernels import KernelOutputDict
  from .gaussian_process import GaussianProcess
label_desc: Use image node_id 2 for calling the GaussianProcessPredictionNetwork obj's underlying member method code with example usage: obj.hybrid_forward(F, past_target, past_time_feat, future_time_feat, feat_static_cat) and returns: samples