从HuggingFace缓存加载Wizard-Vicuna-30B-Uncensored模型失败求助
问题:从本地HuggingFace缓存加载Wizard-Vicuna-30B-Uncensored模型失败
1. 已确认模型存在本地缓存
执行huggingface-cli scan-cache命令,输出显示模型已下载:
REPO ID REPO TYPE SIZE ON DISK NB FILES LAST_ACCESSED LAST_MODIFIED REFS LOCAL PATH -------------------------------------- --------- ------------ -------- ------------- ------------- ---- ------------------------------------------------------------------------------------ ehartford/Wizard-Vicuna-30B-Uncensored model 130.1G 16 23 hours ago 3 weeks ago main /home/hanyuan/.cache/huggingface/hub/models--ehartford--Wizard-Vicuna-30B-Uncensored openai/clip-vit-base-patch32 model 608.9M 8 10 hours ago 2 weeks ago main /home/hanyuan/.cache/huggingface/hub/models--openai--clip-vit-base-patch32 Done in 0.0s. Scanned 2 repo(s) for a total of 130.7G.
2. 加载模型的代码
model_name_or_path = "ehartford/Wizard-Vicuna-30B-Uncensored" # model_name_or_path = "mistralai/Mistral-7B-Instruct-v0.1" cache_path = "~/.cache/huggingface/hub/models--ehartford--Wizard-Vicuna-30B-Uncensored" model = AutoModelForCausalLM.from_pretrained(model_name_or_path, torch_dtype=torch.float16, cache_dir=cache_path)
3. 报错信息
FileNotFoundError: [Errno 2] No such file or directory: '../../blobs/2122720188751bb5b1d1a28480cbca2d216c63f2' -> '/home/hanyuan/.cache/huggingface/hub/models--ehartford--Wizard-Vicuna-30B-Uncensored/models--ehartford--Wizard-Vicuna-30B-Uncensored/snapshots/24768a6df2e4694b960ea84d2f304ad1ae46804d/config.json'
4. 排查情况
通过tree .查看缓存目录结构,确认config.json文件存在,但加载时无法读取。
解决方案
核心问题:
cache_dir参数需要指向HuggingFace的根缓存目录(~/.cache/huggingface/hub),而非单个模型的具体目录。原代码中指定单个模型路径后,库会试图在这个路径下再创建一层模型目录,导致路径嵌套错误,无法找到文件。修正后的代码(方法一):指定根缓存目录
model_name_or_path = "ehartford/Wizard-Vicuna-30B-Uncensored" # 指向HuggingFace根缓存目录 cache_path = "~/.cache/huggingface/hub" model = AutoModelForCausalLM.from_pretrained(model_name_or_path, torch_dtype=torch.float16, cache_dir=cache_path)
- 修正后的代码(方法二):不指定
cache_dir,使用默认路径
HuggingFace会自动读取~/.cache/huggingface/hub作为默认缓存目录,直接省略参数即可:
model_name_or_path = "ehartford/Wizard-Vicuna-30B-Uncensored" model = AutoModelForCausalLM.from_pretrained(model_name_or_path, torch_dtype=torch.float16)
- 额外排查步骤:
- 检查缓存目录的权限,确保当前用户拥有读写权限
- 若问题持续,可执行
huggingface-cli delete-cache清理损坏缓存后重新下载模型(注意提前备份重要文件)
内容的提问来源于stack exchange,提问作者HankY
相关产品推荐
相关产品推荐

