code: def rename_features(
      name_mapping: Mapping[str, str]
  ) -> ExampleTransformFn:
      """Renames all the feature specified in the given mapping.
  
      Note that if the 'to feature name' already exists in the example, then it will
      be overridden. The order in which the renames are doing is not guaranteed, so
      this should not be used to swap the content of two features.
  
      Arguments:
        name_mapping: mapping from the feature name that must be renamed to the new
          feature name.
  
      Returns:
        function that renames the feature of an example.
      """
  
      def apply_on_example(example: Example) -> Iterator[Example]:
          for from_name, to_name in name_mapping.items():
              example[to_name] = example.pop(from_name)
          yield example
  
      return apply_on_example
  
file_path: datasets/tensorflow_datasets/core/transform/transform_lib.py
imports: from __future__ import annotations
  import functools
  from typing import Any, Callable, Iterator, List, Mapping, Optional, Union
  import numpy
  from tensorflow_datasets.core import split_builder
label_desc: Use image node_id 3 for calling a global function with example usage: rename_features(name_mapping) and returns: apply_on_example