code: def garbage_collect_exports(export_dir_base, exports_to_keep):
      """Deletes older exports, retaining only a given number of the most recent.
  
      Export subdirectories are assumed to be named with monotonically increasing
      integers; the most recent are taken to be those with the largest values.
  
      Args:
        export_dir_base: the base directory under which each export is in a
          versioned subdirectory.
        exports_to_keep: Number of exports to keep. Older exports will be garbage
          collected. Set to None to disable.
      """
      if exports_to_keep is None:
          return
      version_paths = []  # List of tuples (version, path)
      for filename in tf.compat.v1.gfile.ListDirectory(export_dir_base):
          path = os.path.join(
              tf.compat.as_bytes(export_dir_base),
              tf.compat.as_bytes(filename),
          )
          if len(filename) == 10 and filename.isdigit():
              version_paths.append((int(filename), path))
  
      oldest_version_path = sorted(version_paths)[:-exports_to_keep]
      for _, path in oldest_version_path:
          try:
              tf.compat.v1.gfile.DeleteRecursively(path)
          except tf.errors.NotFoundError as e:
              logging.warn("Can not delete %s recursively: %s", path, e)
  
file_path: hub/tensorflow_hub/tf_utils.py
imports: import os
  import time
  import uuid
  from absl import logging
  import tensorflow
label_desc: Use image node_id 5 for calling a global function with example usage: garbage_collect_exports(export_dir_base, exports_to_keep) without return types