class_docstr: Cache the distillation labels on disk.
  Under each label will be saved as a file named `{uid}.pkl` under `cache_folder`.
class_docstr_tok: ["Cache","the","distillation","labels","on","disk",".","Under","each","label","will","be","saved","as","a","file","named","`","{","uid","}",".pkl","`","under","`","cache_folder","`","."]
docstr: Cleanup the saved files under `cache_folder`.
docstr_tok: ["Cleanup","the","saved","files","under","`","cache_folder","`","."]
code: def cleanup(self):
      """
      Cleanup the saved files under `cache_folder`.
      """
      cleanup_filename = set(self._uid2filename.values())
      if Path(self._cache_folder / SETTING_FILENAME).exists():
          with Path(self._cache_folder / SETTING_FILENAME).open(
              mode="r"
          ) as f:
              uid2filename: Dict[str, str] = json_tricks.load(f)
              cleanup_filename = cleanup_filename.difference(
                  uid2filename.values()
              )
      for filename in cleanup_filename:
          filepath = self._data_folder / filename
          if filepath.exists():
              os.remove(str(filepath))
  
imports: from __future__ import annotations
  import logging
  import os
  from os import PathLike
  from pathlib import Path
  import shutil
  import tempfile
  from typing import Any, Dict, List, Literal
  import json_tricks
  from .utils import pickle_dump, pickle_load
label_desc: Use image node_id 7 for calling the FileStorage obj's underlying member method code with example usage: obj.cleanup() without return types