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

load_lora_weights()无法加载Civitai指定LoRA权重至SD模型求助

问题解决:加载Civitai完整Checkpoint到HuggingFace Stable Diffusion

错误原因

你遇到的ValueError是因为加载方法用错了:

  • load_lora_weights()是HuggingFace专门用来加载LoRA小权重文件的工具
  • 你下载的模型99805是完整的Stable Diffusion Checkpoint大模型,不是LoRA格式,自然无法被该函数识别。你之前成功加载的19998是LoRA类型,所以能正常运行。

解决方案

根据你的需求,提供两种可行方案:

方案1:直接将该Checkpoint作为基础模型加载

如果不需要基于v1-4,直接用这个完整模型生成,用from_single_file方法:

from diffusers import StableDiffusionPipeline
import torch

# 加载完整checkpoint
pipe = StableDiffusionPipeline.from_single_file(
    "testerino.safetensors",
    torch_dtype=torch.float16  # 用float16节省显存,GPU可用时推荐
).to("cuda")  # 没有GPU可换成"cpu"

# 测试生成
result = pipe("a photo of a cute dog in a garden")
result.images[0].save("test_generation.png")

方案2:将该Checkpoint的特征融合到v1-4模型中

如果需要保留v1-4的基础特征,同时融合目标模型的风格,可以用模型融合方法:

from diffusers import StableDiffusionPipeline
import torch

# 加载v1-4基础模型
base_pipe = StableDiffusionPipeline.from_pretrained(
    "CompVis/stable-diffusion-v1-4",
    torch_dtype=torch.float16
).to("cuda")

# 加载下载的完整checkpoint
target_pipe = StableDiffusionPipeline.from_single_file(
    "testerino.safetensors",
    torch_dtype=torch.float16
).to("cuda")

# 融合模型权重,ratio参数控制融合比例(0-1,值越高目标模型特征占比越大)
base_pipe.unet = base_pipe.unet.merge(target_pipe.unet, ratio=0.3)
base_pipe.text_encoder = base_pipe.text_encoder.merge(target_pipe.text_encoder, ratio=0.3)

# 测试融合后的生成
result = base_pipe("a photo of a cute dog in a garden")
result.images[0].save("merged_generation.png")

注意事项

Civitai上的模型分三类,下载前务必确认类型:

  • Checkpoint:完整大模型,需用from_single_file加载
  • LoRA:小权重插件,用load_lora_weights加载
  • Embedding:文本嵌入,需单独加载到文本编码器

内容的提问来源于stack exchange,提问作者Robin Bjoern Platte

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 10:25:18