code: def test_lstm_forecaster_fit_loader(self):
      train_loader, val_loader, test_loader = create_data(loader=True)
      forecaster = LSTMForecaster(
          past_seq_len=24,
          input_feature_num=2,
          output_feature_num=2,
          hidden_dim=[32, 16],
          layer_num=2,
          dropout=[0.1, 0.2],
          loss="mae",
          lr=0.01,
      )
      train_loss = forecaster.fit(train_loader, epochs=2)
      forecaster.quantize(
          calib_data=train_loader,
          val_data=val_loader,
          metric="mae",
          framework="pytorch_fx",
      )
      q_yhat = forecaster.predict(
          data=test_loader, quantize=True, acceleration=False
      )
      yhat = forecaster.predict(data=test_loader, acceleration=False)
      forecaster.evaluate(
          test_loader, batch_size=32, acceleration=False
      )
      forecaster.quantize(
          calib_data=train_loader,
          val_data=val_loader,
          metric="mae",
          framework="onnxrt_qlinearops",
      )
      q_onnx_yhat = forecaster.predict_with_onnx(
          data=test_loader, quantize=True
      )
      forecaster.evaluate_with_onnx(
          test_loader, batch_size=32, quantize=True
      )
      forecaster.evaluate_with_onnx(test_loader)
      assert (
          yhat.shape == q_onnx_yhat.shape == q_yhat.shape == (400, 1, 2)
      )
  
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 4 for calling the TestChronosModelLSTMForecaster obj's underlying member method code with example usage: obj.test_lstm_forecaster_fit_loader() without return types