code: def check_hf_tokenizer_requirements(
      config: "ModelConfig",
  ) -> None:  # noqa: F821
      """Checks that the HuggingFace tokenizer has a pretrained_model_name_or_path specified."""
  
      for input_feature in config.input_features:
          if input_feature.type == TEXT:
              if (
                  input_feature.preprocessing.tokenizer
                  == "hf_tokenizer"
              ):
                  if (
                      input_feature.preprocessing.pretrained_model_name_or_path
                      is None
                  ):
                      raise ConfigValidationError(
                          "Pretrained model name or path must be specified for HuggingFace tokenizer."
                      )
  
imports: from abc import ABC, abstractmethod
  from re import findall
  from typing import Callable, TYPE_CHECKING
  from transformers import AutoConfig
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import AUDIO, BINARY, CATEGORY, IMAGE, IN_MEMORY, MIN_QUANTIZATION_BITS_FOR_MERGE_AND_UNLOAD, MODEL_ECD, MODEL_GBM, MODEL_LLM, NUMBER, SEQUENCE, SET, TEXT, TIMESERIES, VECTOR
  from ludwig.error import ConfigValidationError
  from ludwig.utils.metric_utils import get_feature_to_metric_names_map_from_feature_collection
  from ludwig.utils.misc_utils import merge_dict
label_desc: Use image node_id 15 for calling a global function with example usage: check_hf_tokenizer_requirements(config) without return types