code: def test_fit_third_party_data_creator_tf2(self):
      search_space = {
          "hidden_dim": hp.grid_search([32, 64]),
          "layer_num": hp.randint(1, 3),
          "dropout": hp.uniform(0.1, 0.2),
      }
      auto_estimator = AutoTSEstimator(
          model=model_creator_keras,
          search_space=search_space,
          past_seq_len=7,
          future_seq_len=1,
          input_feature_num=4,
          output_target_num=2,
          selected_features="auto",
          metric="mse",
          backend="keras",
          logs_dir="/tmp/auto_trainer",
          cpus_per_trial=2,
          name="auto_trainer",
      )
      auto_estimator.fit(
          data=get_data_creator(backend="keras"),
          epochs=1,
          batch_size=hp.choice([32, 64]),
          validation_data=get_data_creator(backend="keras"),
          n_sampling=1,
      )
      config = auto_estimator.get_best_config()
      assert config["past_seq_len"] == 7
  
imports: from unittest import TestCase
  import pytest
  from bigdl.chronos.utils import LazyImport
  import numpy
  from bigdl.chronos.data import TSDataset
  import pandas
  from ..None import op_torch, op_tf2, op_distributed, op_inference
label_desc: Use image node_id 6 for calling the TestAutoTrainer obj's underlying member method code with example usage: obj.test_fit_third_party_data_creator_tf2() without return types