docstr: Computes the training l1 loss for LSTNet for multivariate time series.
  All input tensors have NCT layout.
  
  Parameters
  ----------
  F
  past_target
      Tensor of shape (batch_size, num_series, context_length)
  past_observed_values
      Tensor of shape (batch_size, num_series, context_length)
  future_target
      Tensor of shape (batch_size, num_series, prediction_length)
  future_observed_values
      Tensor of shape (batch_size, num_series, prediction_length)
  
  Returns
  -------
  Tensor
      Loss values of shape (batch_size,)
docstr_tok: ["Computes","the","training","l1","loss","for","LSTNet","for","multivariate","time","series",".","All","input","tensors","have","NCT","layout",".","Parameters","--","--","--","--","--","F","past_target","Tensor","of","shape","(","batch_size",",","num_series",",","context_length",")","past_observed_values","Tensor","of","shape","(","batch_size",",","num_series",",","context_length",")","future_target","Tensor","of","shape","(","batch_size",",","num_series",",","prediction_length",")","future_observed_values","Tensor","of","shape","(","batch_size",",","num_series",",","prediction_length",")","Returns","--","--","--","-","Tensor","Loss","values","of","shape","(","batch_size",",",")"]
code: def hybrid_forward(  # type: ignore
      self,
      F,
      past_target: Tensor,
      past_observed_values: Tensor,
      future_target: Tensor,
      future_observed_values: Tensor,
  ) -> Tensor:
      """
      Computes the training l1 loss for LSTNet for multivariate time series.
      All input tensors have NCT layout.
  
      Parameters
      ----------
      F
      past_target
          Tensor of shape (batch_size, num_series, context_length)
      past_observed_values
          Tensor of shape (batch_size, num_series, context_length)
      future_target
          Tensor of shape (batch_size, num_series, prediction_length)
      future_observed_values
          Tensor of shape (batch_size, num_series, prediction_length)
  
      Returns
      -------
      Tensor
          Loss values of shape (batch_size,)
      """
  
      pred, scale = super().hybrid_forward(
          F, past_target, past_observed_values
      )
      return self.loss_fn(
          F.broadcast_mul(pred, scale),
          future_target,
          future_observed_values,
      )
  
imports: from typing import Optional, Type
  import mxnet
  from mxnet.gluon import loss, nn
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from gluonts.mx.block.scaler import MeanScaler, NOPScaler
label_desc: Use image node_id 2 for calling the LSTNetTrain obj's underlying member method code with example usage: obj.hybrid_forward(F, past_target, past_observed_values, future_target, future_observed_values) and returns: self