Can't load the model
#1
by
jerpint
- opened
I'm trying to load ControlNet-XS based on the example here:
from diffusers import StableDiffusionControlNetXSPipeline, ControlNetXSAdapter
from diffusers.utils import load_image
import numpy as np
import torch
import cv2
from PIL import Image
prompt = "aerial view, a futuristic research complex in a bright foggy jungle, hard lighting"
negative_prompt = "low quality, bad quality, sketches"
# download an image
image = load_image(
"https://hf.co/datasets/hf-internal-testing/diffusers-images/resolve/main/sd_controlnet/hf-logo.png"
)
# initialize the models and pipeline
controlnet_conditioning_scale = 0.5
controlnet = ControlNetXSAdapter.from_pretrained(
"UmerHA/Testing-ConrolNetXS-SD2.1-canny", torch_dtype=torch.float16
)
pipe = StableDiffusionControlNetXSPipeline.from_pretrained(
"stabilityai/stable-diffusion-2-1-base", controlnet=controlnet, torch_dtype=torch.float16
)
pipe.enable_model_cpu_offload()
However, I get an error message suggesting the model doesn't exist:
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_errors.py:304, in hf_raise_for_status(response, endpoint_name)
303 try:
--> 304 response.raise_for_status()
305 except HTTPError as e:
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/requests/models.py:1024, in Response.raise_for_status(self)
1023 if http_error_msg:
-> 1024 raise HTTPError(http_error_msg, response=self)
HTTPError: 401 Client Error: Unauthorized for url: https://huggingface.co/UmerHA/Testing-ConrolNetXS-SD2.1-canny/resolve/main/config.json
The above exception was the direct cause of the following exception:
RepositoryNotFoundError Traceback (most recent call last)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/diffusers/configuration_utils.py:383, in ConfigMixin.load_config(cls, pretrained_model_name_or_path, return_unused_kwargs, return_commit_hash, **kwargs)
381 try:
382 # Load from URL or cache if already cached
--> 383 config_file = hf_hub_download(
384 pretrained_model_name_or_path,
385 filename=cls.config_name,
386 cache_dir=cache_dir,
387 force_download=force_download,
388 proxies=proxies,
389 resume_download=resume_download,
390 local_files_only=local_files_only,
391 token=token,
392 user_agent=user_agent,
393 subfolder=subfolder,
394 revision=revision,
395 local_dir=local_dir,
396 local_dir_use_symlinks=local_dir_use_symlinks,
397 )
398 except RepositoryNotFoundError:
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_validators.py:114, in validate_hf_hub_args.<locals>._inner_fn(*args, **kwargs)
112 kwargs = smoothly_deprecate_use_auth_token(fn_name=fn.__name__, has_token=has_token, kwargs=kwargs)
--> 114 return fn(*args, **kwargs)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:1221, in hf_hub_download(repo_id, filename, subfolder, repo_type, revision, library_name, library_version, cache_dir, local_dir, user_agent, force_download, proxies, etag_timeout, token, local_files_only, headers, endpoint, legacy_cache_layout, resume_download, force_filename, local_dir_use_symlinks)
1220 else:
-> 1221 return _hf_hub_download_to_cache_dir(
1222 # Destination
1223 cache_dir=cache_dir,
1224 # File info
1225 repo_id=repo_id,
1226 filename=filename,
1227 repo_type=repo_type,
1228 revision=revision,
1229 # HTTP info
1230 headers=headers,
1231 proxies=proxies,
1232 etag_timeout=etag_timeout,
1233 endpoint=endpoint,
1234 # Additional options
1235 local_files_only=local_files_only,
1236 force_download=force_download,
1237 )
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:1325, in _hf_hub_download_to_cache_dir(cache_dir, repo_id, filename, repo_type, revision, headers, proxies, etag_timeout, endpoint, local_files_only, force_download)
1324 # Otherwise, raise appropriate error
-> 1325 _raise_on_head_call_error(head_call_error, force_download, local_files_only)
1327 # From now on, etag, commit_hash, url and size are not None.
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:1823, in _raise_on_head_call_error(head_call_error, force_download, local_files_only)
1821 elif isinstance(head_call_error, RepositoryNotFoundError) or isinstance(head_call_error, GatedRepoError):
1822 # Repo not found or gated => let's raise the actual error
-> 1823 raise head_call_error
1824 else:
1825 # Otherwise: most likely a connection issue or Hub downtime => let's warn the user
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:1722, in _get_metadata_or_catch_error(repo_id, filename, repo_type, revision, endpoint, proxies, etag_timeout, headers, local_files_only, relative_filename, storage_folder)
1721 try:
-> 1722 metadata = get_hf_file_metadata(url=url, proxies=proxies, timeout=etag_timeout, headers=headers)
1723 except EntryNotFoundError as http_error:
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_validators.py:114, in validate_hf_hub_args.<locals>._inner_fn(*args, **kwargs)
112 kwargs = smoothly_deprecate_use_auth_token(fn_name=fn.__name__, has_token=has_token, kwargs=kwargs)
--> 114 return fn(*args, **kwargs)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:1645, in get_hf_file_metadata(url, token, proxies, timeout, library_name, library_version, user_agent, headers)
1644 # Retrieve metadata
-> 1645 r = _request_wrapper(
1646 method="HEAD",
1647 url=url,
1648 headers=headers,
1649 allow_redirects=False,
1650 follow_relative_redirects=True,
1651 proxies=proxies,
1652 timeout=timeout,
1653 )
1654 hf_raise_for_status(r)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:372, in _request_wrapper(method, url, follow_relative_redirects, **params)
371 if follow_relative_redirects:
--> 372 response = _request_wrapper(
373 method=method,
374 url=url,
375 follow_relative_redirects=False,
376 **params,
377 )
379 # If redirection, we redirect only relative paths.
380 # This is useful in case of a renamed repository.
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/file_download.py:396, in _request_wrapper(method, url, follow_relative_redirects, **params)
395 response = get_session().request(method=method, url=url, **params)
--> 396 hf_raise_for_status(response)
397 return response
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_errors.py:352, in hf_raise_for_status(response, endpoint_name)
344 message = (
345 f"{response.status_code} Client Error."
346 + "\n\n"
(...)
350 " make sure you are authenticated."
351 )
--> 352 raise RepositoryNotFoundError(message, response) from e
354 elif response.status_code == 400:
RepositoryNotFoundError: 401 Client Error. (Request ID: Root=1-665d2420-507e29162e6b03c67e6a8149;22f23aa6-cb79-4f50-b03b-27a228f87f07)
Repository Not Found for url: https://huggingface.co/UmerHA/Testing-ConrolNetXS-SD2.1-canny/resolve/main/config.json.
Please make sure you specified the correct `repo_id` and `repo_type`.
If you are trying to access a private or gated repo, make sure you are authenticated.
User Access Token "github-spaces" is expired
During handling of the above exception, another exception occurred:
OSError Traceback (most recent call last)
Cell In[17], line 1
----> 1 controlnet = ControlNetXSAdapter.from_pretrained(
2 "UmerHA/Testing-ConrolNetXS-SD2.1-canny", torch_dtype=torch.float16
3 )
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_validators.py:114, in validate_hf_hub_args.<locals>._inner_fn(*args, **kwargs)
111 if check_use_auth_token:
112 kwargs = smoothly_deprecate_use_auth_token(fn_name=fn.__name__, has_token=has_token, kwargs=kwargs)
--> 114 return fn(*args, **kwargs)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/diffusers/models/modeling_utils.py:549, in ModelMixin.from_pretrained(cls, pretrained_model_name_or_path, **kwargs)
542 user_agent = {
543 "diffusers": __version__,
544 "file_type": "model",
545 "framework": "pytorch",
546 }
548 # load config
--> 549 config, unused_kwargs, commit_hash = cls.load_config(
550 config_path,
551 cache_dir=cache_dir,
552 return_unused_kwargs=True,
553 return_commit_hash=True,
554 force_download=force_download,
555 resume_download=resume_download,
556 proxies=proxies,
557 local_files_only=local_files_only,
558 token=token,
559 revision=revision,
560 subfolder=subfolder,
561 user_agent=user_agent,
562 **kwargs,
563 )
565 # load model
566 model_file = None
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/huggingface_hub/utils/_validators.py:114, in validate_hf_hub_args.<locals>._inner_fn(*args, **kwargs)
111 if check_use_auth_token:
112 kwargs = smoothly_deprecate_use_auth_token(fn_name=fn.__name__, has_token=has_token, kwargs=kwargs)
--> 114 return fn(*args, **kwargs)
File ~/opt/miniconda3/envs/py11/lib/python3.11/site-packages/diffusers/configuration_utils.py:399, in ConfigMixin.load_config(cls, pretrained_model_name_or_path, return_unused_kwargs, return_commit_hash, **kwargs)
383 config_file = hf_hub_download(
384 pretrained_model_name_or_path,
385 filename=cls.config_name,
(...)
396 local_dir_use_symlinks=local_dir_use_symlinks,
397 )
398 except RepositoryNotFoundError:
--> 399 raise EnvironmentError(
400 f"{pretrained_model_name_or_path} is not a local folder and is not a valid model identifier"
401 " listed on 'https://huggingface.co/models'\nIf this is a private repository, make sure to pass a"
402 " token having permission to this repo with `token` or log in with `huggingface-cli login`."
403 )
404 except RevisionNotFoundError:
405 raise EnvironmentError(
406 f"{revision} is not a valid git identifier (branch name, tag name or commit id) that exists for"
407 " this model name. Check the model page at"
408 f" 'https://huggingface.co/{pretrained_model_name_or_path}' for available revisions."
409 )
OSError: UmerHA/Testing-ConrolNetXS-SD2.1-canny is not a local folder and is not a valid model identifier listed on 'https://huggingface.co/models'
If this is a private repository, make sure to pass a token having permission to this repo with `token` or log in with `huggingface-cli login`.
I don't understand why it would say the model doesn't exist, since this is the exact same URL, any help is appreciated
Hey, I just tested in in a fresh google colab notebook, and it worked - see https://colab.research.google.com/drive/1PSLPn2PiV2O3ibSwX-tKWXHYcLkp-LcI?usp=sharing.
I think you might be better off asking in the diffusers GitHub.
As a workaround, you can download the model manually, and load it from local files. E.g., if you download it to MY_REPOSITORY, you'd load it with
controlnet = ControlNetXSAdapter.from_pretrained(
MY_REPOSITORY, torch_dtype=torch.float16
)
thanks, indeed might be a local thing, i'm using apple silicon so maybe related to that? thanks for looking into it!
jerpint
changed discussion status to
closed