You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stable Diffusion文本生图代码报错:model.safetensors文件未找到求助

解决Stable Diffusion模型文件找不到的问题

以下是针对你遇到的model.safetensors或unet\diffusion_pytorch_model.safetensors文件缺失报错的具体解决方案:


1. 直接指定本地模型路径

如果你已经手动下载了模型文件,不要使用远程模型IDCompVis/stable-diffusion-v1-4,直接替换为你本地存放模型的完整目录路径。比如模型放在./stable-diffusion-v1-4文件夹中,代码修改如下:

model_id = "./stable-diffusion-v1-4"

注意:该目录下必须包含model_index.json文件,以及unet、text_encoder、vae等子文件夹,每个子文件夹内要有对应的模型文件。

2. 检查模型文件结构与格式

确认本地模型目录结构和官方发布的一致,示例结构如下:

stable-diffusion-v1-4/
├── model_index.json
├── unet/
│   └── diffusion_pytorch_model.safetensors
├── text_encoder/
│   └── model.safetensors
├── vae/
│   └── diffusion_pytorch_model.safetensors
└── scheduler/
    └── scheduler_config.json

如果你的模型文件是.bin格式而非.safetensors,在加载时添加use_safetensors=False参数:

pipe = StableDiffusionPipeline.from_pretrained(
    model_id, 
    revision="fp16", 
    torch_dtype=torch.float16, 
    use_auth_token=auth_token,
    use_safetensors=False
)

3. 清理Hugging Face缓存

Hugging Face会缓存下载的模型文件,若缓存文件损坏也会导致报错。手动删除缓存目录后重新运行代码:

  • Windows:C:\Users\<你的用户名>\.cache\huggingface\hub
  • Linux/macOS:~/.cache/huggingface/hub

4. 验证授权令牌权限

确保你的auth_token拥有访问Stable Diffusion模型的权限,前往Hugging Face个人设置页面,检查令牌是否勾选了read权限。


调整后的示例代码

from auth_token import auth_token
from fastapi import FastAPI, Response
from fastapi.middleware.cors import CORSMiddleware
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
from io import BytesIO
import base64 

app = FastAPI()

app.add_middleware(
    CORSMiddleware, 
    allow_credentials=True, 
    allow_origins=["*"], 
    allow_methods=["*"], 
    allow_headers=["*"]
)

device = "cuda"
# 替换为你的本地模型目录路径
model_id = "./stable-diffusion-v1-4"
pipe = StableDiffusionPipeline.from_pretrained(
    model_id, 
    revision="fp16", 
    torch_dtype=torch.float16, 
    use_auth_token=auth_token,
    # 若使用.bin格式模型,取消下面注释
    # use_safetensors=False
)
pipe.to(device)

@app.get("/")
def generate(prompt: str): 
    with autocast(device): 
        image = pipe(prompt, guidance_scale=8.5).images[0]

    image.save("testimage.png")
    buffer = BytesIO()
    image.save(buffer, format="PNG")
    imgstr = base64.b64encode(buffer.getvalue())

    return Response(content=imgstr, media_type="image/png")

内容的提问来源于stack exchange,提问作者131 Mohammad Ubaida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 05:10:22