class_docstr: Autoformer is the first method to achieve the series-wise connection,
  with inherent O(LlogL) complexity
class_docstr_tok: ["Autoformer","is","the","first","method","to","achieve","the","series-wise","connection",",","with","inherent","O","(","LlogL",")","complexity"]
code: def validation_step(self, batch, batch_idx):
      batch_x, batch_y, batch_x_mark, batch_y_mark = map(
          lambda x: x.float(), batch
      )
      outputs = self(batch_x, batch_x_mark, batch_y, batch_y_mark)
  
      outputs = outputs[:, -self.pred_len :, -self.c_out :]
      batch_y = batch_y[:, -self.pred_len :, -self.c_out :]
      self.log("val_loss", self.loss(outputs, batch_y))
  
file_path: BigDL/python/chronos/src/bigdl/chronos/model/autoformer/Autoformer.py
imports: import torch
  import torch.nn
  from .layers.Embed import DataEmbedding_wo_pos
  from .layers.AutoCorrelation import AutoCorrelation, AutoCorrelationLayer
  from .layers.Autoformer_EncDec import Encoder, Decoder, EncoderLayer, DecoderLayer, my_Layernorm, series_decomp
  import torch.optim
  import pytorch_lightning
  from collections import namedtuple
  from ..utils import PYTORCH_REGRESSION_LOSS_MAP
label_desc: Use image node_id 4 for calling the AutoFormer obj's underlying member method code with example usage: obj.validation_step(batch, batch_idx) without return types