code: def garbage_collect_exports(export_dir_base, exports_to_keep):
    
    if exports_to_keep is None:
      return
    version_paths = []  # List of tuples (version, path)
    for filename in tf_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_v1.gfile.DeleteRecursively(path)
      except tf.errors.NotFoundError as e:
        logging.warn("Can not delete %s recursively: %s", path, e)
docs: 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.