code: def test_forecast_mtnet(self):
      # TODO hacking to fix a bug
      train_data, test_data = create_data()
      self.x_train, y_train = train_data.to_numpy()
      self.y_train = y_train.reshape(
          y_train.shape[0], y_train.shape[-1]
      )
      self.x_val, y_val = test_data.to_numpy()
      self.y_val = y_val.reshape(y_val.shape[0], y_val.shape[-1])
      self.x_test, y_test = test_data.to_numpy()
      self.y_test = y_test.reshape(y_test.shape[0], y_test.shape[-1])
      from bigdl.chronos.forecaster.tf.mtnet_forecaster import (
          MTNetForecaster,
      )
  
      model = MTNetForecaster(
          target_dim=1,
          feature_dim=self.x_train.shape[-1],
          long_series_num=4,
          series_length=1,
      )
  
      model.fit(
          data=(self.x_train, y_train),
          validation_data=(self.x_val, y_val),
          epochs=2,
          batch_size=32,
      )
      assert model.evaluate(data=(self.x_test, self.y_test))
      predict_result = model.predict(self.x_test)
      assert predict_result.shape == (
          self.x_test.shape[0],
          self.x_test.shape[-1],
      )
  
file_path: BigDL/python/chronos/test/bigdl/chronos/forecaster/tf/test_mtnet_forecaster.py
imports: import pytest
  import numpy
  import pandas
  from bigdl.chronos.data import TSDataset
  from bigdl.chronos.utils import LazyImport
  from unittest import TestCase
  from test.bigdl.chronos import op_tf2
label_desc: Use image node_id 3 for calling the TestChronosModelMTNetForecaster obj's underlying member method code with example usage: obj.test_forecast_mtnet() without return types