code: def _normalize_feature_id(
      name_or_path_or_steps: Union[
          str, types.FeaturePath, Iterable[str]
      ]
  ) -> types.FeaturePath:
      if isinstance(name_or_path_or_steps, str):
          return types.FeaturePath([name_or_path_or_steps])
      if isinstance(name_or_path_or_steps, types.FeaturePath):
          return name_or_path_or_steps
      return types.FeaturePath(name_or_path_or_steps)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import logging
  from typing import Dict, Iterable, Optional, Sequence, Text, Tuple, Union
  import numpy
  import pyarrow
  import tensorflow
  from tensorflow_data_validation import constants
  from tensorflow_data_validation import types
  from tensorflow_data_validation.arrow import arrow_util
  from tensorflow_data_validation.utils import artifacts_io_impl
  from tensorflow_data_validation.utils import io_util
  from tfx_bsl import statistics
  from tfx_bsl.arrow import array_util
  from google.protobuf import text_format
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 14 for calling a global function with example usage: _normalize_feature_id(name_or_path_or_steps) and returns: types, types, name_or_path_or_steps