docstr: Computes the loss for training DeepVAR, all inputs tensors representing
  time series have NTC layout.
  
  Parameters
  ----------
  F
  target_dimension_indicator
      Indices of the target dimension (batch_size, target_dim)
  past_time_feat
      Dynamic features of past time series (batch_size, history_length,
      num_features)
  past_target_cdf
      Past marginal CDF transformed target values (batch_size,
      history_length, target_dim)
  past_observed_values
      Indicator whether or not the values were observed (batch_size,
      history_length, target_dim)
  past_is_pad
      Indicator whether the past target values have been padded
      (batch_size, history_length)
  future_time_feat
      Future time features (batch_size, prediction_length, num_features)
  future_target_cdf
      Future marginal CDF transformed target values (batch_size,
      prediction_length, target_dim)
  future_observed_values
      Indicator whether or not the future values were observed
      (batch_size, prediction_length, target_dim)
  
  Returns
  -------
  distr
      Loss with shape (batch_size, 1)
  likelihoods
      Likelihoods for each time step
      (batch_size, context + prediction_length, 1)
  distr_args
      Distribution arguments (context + prediction_length,
      number_of_arguments)
docstr_tok: ["Computes","the","loss","for","training","DeepVAR",",","all","inputs","tensors","representing","time","series","have","NTC","layout",".","Parameters","--","--","--","--","--","F","target_dimension_indicator","Indices","of","the","target","dimension","(","batch_size",",","target_dim",")","past_time_feat","Dynamic","features","of","past","time","series","(","batch_size",",","history_length",",","num_features",")","past_target_cdf","Past","marginal","CDF","transformed","target","values","(","batch_size",",","history_length",",","target_dim",")","past_observed_values","Indicator","whether","or","not","the","values","were","observed","(","batch_size",",","history_length",",","target_dim",")","past_is_pad","Indicator","whether","the","past","target","values","have","been","padded","(","batch_size",",","history_length",")","future_time_feat","Future","time","features","(","batch_size",",","prediction_length",",","num_features",")","future_target_cdf","Future","marginal","CDF","transformed","target","values","(","batch_size",",","prediction_length",",","target_dim",")","future_observed_values","Indicator","whether","or","not","the","future","values","were","observed","(","batch_size",",","prediction_length",",","target_dim",")","Returns","--","--","--","-","distr","Loss","with","shape","(","batch_size",",","1",")","likelihoods","Likelihoods","for","each","time","step","(","batch_size",",","context","+","prediction_length",",","1",")","distr_args","Distribution","arguments","(","context","+","prediction_length",",","number_of_arguments",")"]
code: def hybrid_forward(
      self,
      F,
      target_dimension_indicator: Tensor,
      past_time_feat: Tensor,
      past_target_cdf: Tensor,
      past_observed_values: Tensor,
      past_is_pad: Tensor,
      future_time_feat: Tensor,
      future_target_cdf: Tensor,
      future_observed_values: Tensor,
  ) -> Tuple[Tensor, ...]:
      """
      Computes the loss for training DeepVAR, all inputs tensors representing
      time series have NTC layout.
  
      Parameters
      ----------
      F
      target_dimension_indicator
          Indices of the target dimension (batch_size, target_dim)
      past_time_feat
          Dynamic features of past time series (batch_size, history_length,
          num_features)
      past_target_cdf
          Past marginal CDF transformed target values (batch_size,
          history_length, target_dim)
      past_observed_values
          Indicator whether or not the values were observed (batch_size,
          history_length, target_dim)
      past_is_pad
          Indicator whether the past target values have been padded
          (batch_size, history_length)
      future_time_feat
          Future time features (batch_size, prediction_length, num_features)
      future_target_cdf
          Future marginal CDF transformed target values (batch_size,
          prediction_length, target_dim)
      future_observed_values
          Indicator whether or not the future values were observed
          (batch_size, prediction_length, target_dim)
  
      Returns
      -------
      distr
          Loss with shape (batch_size, 1)
      likelihoods
          Likelihoods for each time step
          (batch_size, context + prediction_length, 1)
      distr_args
          Distribution arguments (context + prediction_length,
          number_of_arguments)
      """
      return self.train_hybrid_forward(
          F,
          target_dimension_indicator,
          past_time_feat,
          past_target_cdf,
          past_observed_values,
          past_is_pad,
          future_time_feat,
          future_target_cdf,
          future_observed_values,
      )
  
imports: from typing import List, Optional, Tuple
  import mxnet
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from gluonts.mx.block.scaler import MeanScaler, NOPScaler
  from gluonts.mx.distribution import Distribution, DistributionOutput
  from gluonts.mx.util import assert_shape, weighted_average
label_desc: Use image node_id 1 for calling the DeepVARTrainingNetwork obj's underlying member method code with example usage: obj.hybrid_forward(F, target_dimension_indicator, past_time_feat, past_target_cdf, past_observed_values, past_is_pad, future_time_feat, future_target_cdf, future_observed_values) and returns: self