|
19 | 19 | import re
|
20 | 20 | import sys
|
21 | 21 | import tempfile
|
22 |
| -import traceback |
23 | 22 | import warnings
|
24 | 23 | from pathlib import Path
|
25 | 24 | from typing import Dict, List, Optional, Union
|
|
35 | 34 | snapshot_download,
|
36 | 35 | upload_folder,
|
37 | 36 | )
|
38 |
| -from huggingface_hub.constants import HF_HUB_CACHE, HF_HUB_DISABLE_TELEMETRY, HF_HUB_OFFLINE |
| 37 | +from huggingface_hub.constants import HF_HUB_DISABLE_TELEMETRY, HF_HUB_OFFLINE |
39 | 38 | from huggingface_hub.file_download import REGEX_COMMIT_HASH
|
40 | 39 | from huggingface_hub.utils import (
|
41 | 40 | EntryNotFoundError,
|
@@ -197,78 +196,6 @@ def extract_commit_hash(resolved_file: Optional[str], commit_hash: Optional[str]
|
197 | 196 | return commit_hash if REGEX_COMMIT_HASH.match(commit_hash) else None
|
198 | 197 |
|
199 | 198 |
|
200 |
| -# Old default cache path, potentially to be migrated. |
201 |
| -# This logic was more or less taken from `transformers`, with the following differences: |
202 |
| -# - Diffusers doesn't use custom environment variables to specify the cache path. |
203 |
| -# - There is no need to migrate the cache format, just move the files to the new location. |
204 |
| -hf_cache_home = os.path.expanduser( |
205 |
| - os.getenv("HF_HOME", os.path.join(os.getenv("XDG_CACHE_HOME", "~/.cache"), "huggingface")) |
206 |
| -) |
207 |
| -old_diffusers_cache = os.path.join(hf_cache_home, "diffusers") |
208 |
| - |
209 |
| - |
210 |
| -def move_cache(old_cache_dir: Optional[str] = None, new_cache_dir: Optional[str] = None) -> None: |
211 |
| - if new_cache_dir is None: |
212 |
| - new_cache_dir = HF_HUB_CACHE |
213 |
| - if old_cache_dir is None: |
214 |
| - old_cache_dir = old_diffusers_cache |
215 |
| - |
216 |
| - old_cache_dir = Path(old_cache_dir).expanduser() |
217 |
| - new_cache_dir = Path(new_cache_dir).expanduser() |
218 |
| - for old_blob_path in old_cache_dir.glob("**/blobs/*"): |
219 |
| - if old_blob_path.is_file() and not old_blob_path.is_symlink(): |
220 |
| - new_blob_path = new_cache_dir / old_blob_path.relative_to(old_cache_dir) |
221 |
| - new_blob_path.parent.mkdir(parents=True, exist_ok=True) |
222 |
| - os.replace(old_blob_path, new_blob_path) |
223 |
| - try: |
224 |
| - os.symlink(new_blob_path, old_blob_path) |
225 |
| - except OSError: |
226 |
| - logger.warning( |
227 |
| - "Could not create symlink between old cache and new cache. If you use an older version of diffusers again, files will be re-downloaded." |
228 |
| - ) |
229 |
| - # At this point, old_cache_dir contains symlinks to the new cache (it can still be used). |
230 |
| - |
231 |
| - |
232 |
| -cache_version_file = os.path.join(HF_HUB_CACHE, "version_diffusers_cache.txt") |
233 |
| -if not os.path.isfile(cache_version_file): |
234 |
| - cache_version = 0 |
235 |
| -else: |
236 |
| - with open(cache_version_file) as f: |
237 |
| - try: |
238 |
| - cache_version = int(f.read()) |
239 |
| - except ValueError: |
240 |
| - cache_version = 0 |
241 |
| - |
242 |
| -if cache_version < 1: |
243 |
| - old_cache_is_not_empty = os.path.isdir(old_diffusers_cache) and len(os.listdir(old_diffusers_cache)) > 0 |
244 |
| - if old_cache_is_not_empty: |
245 |
| - logger.warning( |
246 |
| - "The cache for model files in Diffusers v0.14.0 has moved to a new location. Moving your " |
247 |
| - "existing cached models. This is a one-time operation, you can interrupt it or run it " |
248 |
| - "later by calling `diffusers.utils.hub_utils.move_cache()`." |
249 |
| - ) |
250 |
| - try: |
251 |
| - move_cache() |
252 |
| - except Exception as e: |
253 |
| - trace = "\n".join(traceback.format_tb(e.__traceback__)) |
254 |
| - logger.error( |
255 |
| - f"There was a problem when trying to move your cache:\n\n{trace}\n{e.__class__.__name__}: {e}\n\nPlease " |
256 |
| - "file an issue at https://github.com/huggingface/diffusers/issues/new/choose, copy paste this whole " |
257 |
| - "message and we will do our best to help." |
258 |
| - ) |
259 |
| - |
260 |
| -if cache_version < 1: |
261 |
| - try: |
262 |
| - os.makedirs(HF_HUB_CACHE, exist_ok=True) |
263 |
| - with open(cache_version_file, "w") as f: |
264 |
| - f.write("1") |
265 |
| - except Exception: |
266 |
| - logger.warning( |
267 |
| - f"There was a problem when trying to write in your cache folder ({HF_HUB_CACHE}). Please, ensure " |
268 |
| - "the directory exists and can be written to." |
269 |
| - ) |
270 |
| - |
271 |
| - |
272 | 199 | def _add_variant(weights_name: str, variant: Optional[str] = None) -> str:
|
273 | 200 | if variant is not None:
|
274 | 201 | splits = weights_name.split(".")
|
|
0 commit comments