code: def test_fit_third_party_data_creator(self):
      input_feature_dim = 4
      output_feature_dim = 2  # 2 targets are generated in get_tsdataset
  
      search_space = {
          "hidden_dim": hp.grid_search([32, 64]),
          "dropout": hp.uniform(0.1, 0.2),
      }
  
      auto_estimator = AutoTSEstimator(
          model=model_creator,
          search_space=search_space,
          past_seq_len=7,
          future_seq_len=1,
          input_feature_num=input_feature_dim,
          output_target_num=output_feature_dim,
          selected_features="auto",
          metric="mse",
          loss=torch.nn.MSELoss(),
          cpus_per_trial=2,
      )
  
      auto_estimator.fit(
          data=get_data_creator(),
          epochs=1,
          batch_size=hp.choice([32, 64]),
          validation_data=get_data_creator(),
          n_sampling=1,
      )
  
      config = auto_estimator.get_best_config()
      assert config["past_seq_len"] == 7
  
imports: from unittest import TestCase
  import pytest
  import torch
  import torch.nn
  from torch.utils.data import TensorDataset, DataLoader
  import numpy
  from zoo.chronos.autots import AutoTSEstimator, TSPipeline
  from zoo.chronos.data import TSDataset
  from zoo.orca.automl import hp
  import pandas
label_desc: Use image node_id 4 for calling the TestAutoTrainer obj's underlying member method code with example usage: obj.test_fit_third_party_data_creator() without return types