From 7072f661c9fa83f7bbb7d3250d66b716104229c8 Mon Sep 17 00:00:00 2001 From: Sylvain Gugger <35901082+sgugger@users.noreply.github.com> Date: Mon, 8 Aug 2022 10:22:27 -0400 Subject: [PATCH] New cache fixes: add safeguard before looking in folders (#18522) --- src/transformers/utils/hub.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/transformers/utils/hub.py b/src/transformers/utils/hub.py index 5f9421912c49d7..570ff52e707532 100644 --- a/src/transformers/utils/hub.py +++ b/src/transformers/utils/hub.py @@ -133,6 +133,8 @@ def get_cached_models(cache_dir: Union[str, Path] = None) -> List[Tuple]: cache_dir = TRANSFORMERS_CACHE elif isinstance(cache_dir, Path): cache_dir = str(cache_dir) + if not os.path.isdir(cache_dir): + return [] cached_models = [] for file in os.listdir(cache_dir): @@ -210,6 +212,9 @@ def try_to_load_from_cache(cache_dir, repo_id, filename, revision=None): if not os.path.isdir(model_cache): # No cache for this model return None + for subfolder in ["refs", "snapshots"]: + if not os.path.isdir(os.path.join(model_cache, subfolder)): + return None # Resolve refs (for instance to convert main to the associated commit sha) cached_refs = os.listdir(os.path.join(model_cache, "refs")) @@ -873,6 +878,8 @@ def get_all_cached_files(cache_dir=None): cache_dir = TRANSFORMERS_CACHE else: cache_dir = str(cache_dir) + if not os.path.isdir(cache_dir): + return [] cached_files = [] for file in os.listdir(cache_dir):