code: def test_hf_ludwig_model_reduce_options(
      tmpdir, csv_filename, encoder_name, reduce_output
  ):
      input_features = [
          text_feature(
              preprocessing={
                  "max_sequence_length": 10,
              },
              encoder={
                  "vocab_size": 30,
                  "min_len": 1,
                  "type": encoder_name,
                  "reduce_output": reduce_output,
              },
          )
      ]
      output_features = [category_feature(decoder={"vocab_size": 2})]
      rel_path = generate_data(
          input_features, output_features, csv_filename
      )
  
      if encoder_name == "auto_transformer":
          # need to explciitly set the pretrained model name for auto_transformer
          input_features[0][ENCODER][
              "pretrained_model_name_or_path"
          ] = "hf-internal-testing/tiny-bert-for-token-classification"
  
      config = {
          "input_features": input_features,
          "output_features": output_features,
          TRAINER: {"train_steps": 1},
      }
  
      try:
          ModelConfig.from_dict(config)
      except ConfigValidationError as e:
          pytest.skip(e.message)
  
      model = LudwigModel(
          config=config,
          backend=LocalTestBackend(),
      )
  
      # Validates that the defaults associated with the encoder are compatible with Ludwig training.
      with mock.patch(
          "ludwig.encoders.text_encoders.load_pretrained_hf_model_with_hub_fallback",
          side_effect=_load_pretrained_hf_model_no_weights,
      ):
          model.train(
              dataset=rel_path,
              output_directory=tmpdir,
              skip_save_training_description=True,
              skip_save_training_statistics=True,
              skip_save_model=True,
              skip_save_progress=True,
              skip_save_log=True,
              skip_save_processed_input=True,
          )
  
      clear_huggingface_cache()
  
imports: import json
  import os
  from typing import Optional, Type, Union
  from unittest import mock
  import pytest
  import torch
  import ludwig.schema.encoders.utils
  from ludwig.api import LudwigModel
  from ludwig.constants import ENCODER, ENCODER_OUTPUT, MODEL_ECD, NAME, TEXT, TRAINER
  from ludwig.encoders import text_encoders
  from ludwig.error import ConfigValidationError
  from ludwig.globals import MODEL_HYPERPARAMETERS_FILE_NAME
  from ludwig.schema.model_config import ModelConfig
  from ludwig.utils.data_utils import load_json
  from ludwig.utils.torch_utils import get_torch_device
  from tests.integration_tests.parameter_update_utils import check_module_parameters_updated
  from tests.integration_tests.utils import category_feature, clear_huggingface_cache, generate_data, HF_ENCODERS, LocalTestBackend, text_feature
label_desc: Use image node_id 4 for calling a global function with example usage: test_hf_ludwig_model_reduce_options(tmpdir, csv_filename, encoder_name, reduce_output) without return types