code: def test_s2s_teacher_forcing_fit_evaluate(self):
      model = Seq2SeqPytorch()
      config = {"batch_size": 128, "teacher_forcing": True}
      model.fit_eval(
          (self.train_data[0], self.train_data[1]),
          self.val_data,
          metric="mse",
          **config,
      )
      mse, smape = model.evaluate(
          self.val_data[0], self.val_data[1], metrics=["mse", "smape"]
      )
      assert len(mse) == self.val_data[1].shape[-2]
      assert len(mse[0]) == self.val_data[1].shape[-1]
      assert len(smape) == self.val_data[1].shape[-2]
      assert len(smape[0]) == self.val_data[1].shape[-1]
  
file_path: analytics-zoo/pyzoo/test/zoo/chronos/model/test_Seq2Seq_pytorch.py
imports: from unittest import TestCase
  from zoo.chronos.model.Seq2Seq_pytorch import Seq2SeqPytorch
  import numpy
  import tempfile
  import os
  import random
label_desc: Use image node_id 2 for calling the TestSeq2SeqPytorch obj's underlying member method code with example usage: obj.test_s2s_teacher_forcing_fit_evaluate() without return types