问题分析与解决方案

错误原因分析
  1. 网络连接超时:代码尝试从Hugging Face Hub下载stabilityai/stable-diffusion-2-inpainting模型时,因网络问题(如防火墙、代理限制或服务器不稳定)导致连接失败。
  2. 本地缓存不完整:本地缓存目录中缺少模型文件(如pytorch_model.binmodel.safetensors),可能是由于之前下载中断或未完成。

分步解决方案

1. 手动下载模型文件

由于直接从Hugging Face Hub下载可能不稳定,建议通过 Git LFS 手动下载模型文件:

# 安装 Git LFS(如未安装)
git lfs install

# 克隆模型仓库(需科学上网或网络畅通)
git clone https://huggingface.co/stabilityai/stable-diffusion-2-inpainting
2. 修改代码加载本地模型

将代码中的模型加载路径指向本地目录:

from diffusers import StableDiffusionInpaintPipeline

# 修改为本地路径
pipe = StableDiffusionInpaintPipeline.from_pretrained(
    "./stable-diffusion-2-inpainting",  # 本地模型目录路径
    torch_dtype=torch.float16
).to("cuda")
3. 验证模型文件完整性

确保本地模型目录包含以下关键文件:

stable-diffusion-2-inpainting/
├── model_index.json
├── unet/
│   └── ... 
├── vae/
│   └── ...
└── text_encoder/
    └── ...
4. 配置代理(如需要)

若因网络限制无法访问Hugging Face,需设置代理:

import os

# 设置代理环境变量(根据实际代理地址修改)
os.environ["HTTP_PROXY"] = "http://127.0.0.1:1080"
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"
5. 完整修复后的代码示例
import torch
from diffusers import StableDiffusionInpaintPipeline

# 设置代理(可选)
import os
os.environ["HTTP_PROXY"] = "http://127.0.0.1:1080"
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"

# 加载本地模型
pipe = StableDiffusionInpaintPipeline.from_pretrained(
    "./stable-diffusion-2-inpainting",  # 本地路径
    torch_dtype=torch.float16
).to("cuda")

# 后续推理代码保持不变

替代方案(如果仍无法解决)

若手动下载模型仍失败,可尝试以下方法:

1. 使用其他镜像源

通过Hugging Face镜像站下载:

# 使用国内镜像地址
git clone https://hf-mirror.com/stabilityai/stable-diffusion-2-inpainting
2. 更换轻量级模型

使用更小的Inpainting模型(如runwayml/stable-diffusion-inpainting):

pipe = StableDiffusionInpaintPipeline.from_pretrained(
    "runwayml/stable-diffusion-inpainting",
    torch_dtype=torch.float16
)
3. 使用离线缓存

从其他设备下载模型后,复制缓存文件到本地目录:

  • 默认缓存路径:C:\Users\<用户名>\.cache\huggingface\hub

关键注意事项

  1. 网络环境:确保下载过程中网络稳定,必要时使用科学上网工具。
  2. 存储空间:模型文件较大(约5-7GB),确保磁盘空间充足。
  3. 依赖版本:确认以下库版本兼容:
    pip install diffusers==0.26.0 transformers==4.38.0 torch==2.1.0
    

通过以上步骤,可有效解决因网络问题导致的模型加载失败。如果仍有问题,请提供具体错误日志以便进一步排查。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐