code: def test_forecaster_from_tsdataset(self):
      train, test = create_tsdataset()
      s2s = Seq2SeqForecaster.from_tsdataset(
          train, lstm_hidden_dim=16, lstm_layer_num=1
      )
      s2s.fit(train, epochs=2, batch_size=32)
      yhat = s2s.predict(test, batch_size=32, acceleration=False)
      test.roll(
          lookback=s2s.data_config["past_seq_len"],
          horizon=s2s.data_config["future_seq_len"],
      )
      _, y_test = test.to_numpy()
      assert yhat.shape == y_test.shape
  
      del s2s
      train, test = create_tsdataset(roll=False, horizon=[1, 3, 5])
      s2s = Seq2SeqForecaster.from_tsdataset(
          train,
          past_seq_len=24,
          future_seq_len=2,
          lstm_hidden_dim=16,
          lstm_layer_num=1,
      )
      s2s.fit(train, epochs=2, batch_size=32)
      yhat = s2s.predict(test, batch_size=None, acceleration=False)
      test.roll(
          lookback=s2s.data_config["past_seq_len"],
          horizon=s2s.data_config["future_seq_len"],
      )
      _, y_test = test.to_numpy()
      assert yhat.shape == y_test.shape
  
imports: import numpy
  import tempfile
  import os
  from bigdl.chronos.utils import LazyImport
  from unittest import TestCase
  import pytest
  from ..None import op_torch, op_distributed, op_inference, op_automl
label_desc: Use image node_id 18 for calling the TestChronosModelSeq2SeqForecaster obj's underlying member method code with example usage: obj.test_forecaster_from_tsdataset() without return types