code: def test_feature_extractor(
      regression_data,
      model_config_class,
      continuous_cols,
      categorical_cols,
  ):
      (train, test, target) = regression_data
      is_ssl = issubclass(model_config_class, SSLModelConfig)
      data_config = DataConfig(
          target=target,
          continuous_cols=continuous_cols,
          categorical_cols=categorical_cols,
          handle_missing_values=False if is_ssl else True,
          handle_unknown_categories=False if is_ssl else True,
      )
      model_config_params = {}
      if not is_ssl:
          model_config_params["task"] = "regression"
      else:
          encoder_config = CategoryEmbeddingModelConfig(
              task="backbone",
              layers="4096-2048-512",  # Number of nodes in each layer
              activation="LeakyReLU",  # Activation between each layers
          )
          decoder_config = CategoryEmbeddingModelConfig(
              task="backbone",
              layers="512-2048-4096",  # Number of nodes in each layer
              activation="LeakyReLU",  # Activation between each layers
          )
          model_config_params["encoder_config"] = encoder_config
          model_config_params["decoder_config"] = decoder_config
      model_config = model_config_class(**model_config_params)
      trainer_config = TrainerConfig(
          max_epochs=3,
          checkpoints=None,
          early_stopping=None,
          accelerator="cpu",
          fast_dev_run=True,
      )
      optimizer_config = OptimizerConfig()
  
      tabular_model = TabularModel(
          data_config=data_config,
          model_config=model_config,
          optimizer_config=optimizer_config,
          trainer_config=trainer_config,
      )
      if is_ssl:
          tabular_model.pretrain(
              train=train,
              validation=test,
          )
      else:
          tabular_model.fit(
              train=train,
              validation=test,
          )
      dt = DeepFeatureExtractor(tabular_model)
      enc_df = dt.fit_transform(test)
      assert any(col for col in enc_df.columns if "backbone" in col)
  
imports: import copy
  import os
  import numpy
  import pytest
  import torch
  from pytorch_tabular import TabularModel, TabularModelTuner, model_sweep
  from pytorch_tabular.config import DataConfig, OptimizerConfig, TrainerConfig
  from pytorch_tabular.config.config import SSLModelConfig
  from pytorch_tabular.feature_extractor import DeepFeatureExtractor
  from pytorch_tabular.models import AutoIntConfig, CategoryEmbeddingModelConfig, FTTransformerConfig, GANDALFConfig, GatedAdditiveTreeEnsembleConfig, NodeConfig, TabNetModelConfig
  from pytorch_tabular.ssl_models import DenoisingAutoEncoderConfig
  from scipy.stats import randint, uniform
  from sklearn.metrics import accuracy_score, r2_score
  from sklearn.model_selection import KFold
label_desc: Use image node_id 3 for calling a global function with example usage: test_feature_extractor(regression_data, model_config_class, continuous_cols, categorical_cols) without return types