绘图 LoRA 是附加在对应底模上的小型权重,不能脱离底模单独生成图片。Diffusers 可以加载它进行推理;使用前应核对它属于 SD 1.5、SDXL 还是其他架构,再选匹配的模型。本页用官方指南出现的 SDXL 风格 LoRA,演示加载、调整权重和比较结果。
本文适合会运行 Python、已有或准备下载绘图 LoRA 的读者。依据 2026 年 10 月 1 日核对的 Diffusers 0.35.1 文档和模型卡编写,未下载权重生成图片,没有对效果、速度或显存作实测。示例只演示加载已有适配器,不包含训练。

先读模型卡,不凭文件名猜底模
在下载页核对这四项:底模名称、权重文件、触发词要求、许可。扩展名同为 .safetensors,不表示权重互相兼容;文件名有“XL”也不能替代作者的架构说明。
| 项目 | 本例对应值 | 换自己的 LoRA 时 |
|---|---|---|
| 底模 | stabilityai/stable-diffusion-xl-base-1.0 | 优先按作者明确标注的底模版本核对 |
| 适配器仓库 | ostris/ikea-instructions-lora-sdxl | 使用可信来源,不把相似名称当成同一个仓库 |
| 权重文件 | ikea_instructions_xl_v1_5.safetensors | 写实际文件名,区分多个版本 |
| 触发词 | 模型卡表示此例不需要专门触发词 | 其他 LoRA 可能需要特定词,逐个读取说明 |
这个 LoRA 的模型卡标注了 SDXL 底模和无需触发词,但许可为 other,不能由此推断已允许任意商业用途。底模与适配器的授权应分别核对,许可不明确时先限于学习配置。
安装并确认 GPU 可用
先按 PyTorch 安装页配置与设备匹配的 CUDA 版本,在同一个 Python 环境确认检查结果为 True,再装推理依赖。下面固定 Diffusers 和 PEFT 版本,使文档接口更容易对照。
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
python -m pip install diffusers==0.35.1 transformers==4.56.2 accelerate==1.10.1 peft==0.17.1 safetensors pillow
SDXL 底模与 LoRA 首次下载需要联网及可用磁盘;CPU offload 能减轻 GPU 常驻权重占用,实际仍需 CUDA GPU,本页不承诺固定显存就能运行。
加载一次 LoRA,比较三个权重
把以下代码保存为 lora_demo.py,运行 python lora_demo.py。官方 PEFT 推理指南推荐 load_lora_weights 处理相关组件;set_adapters 可以设置已经加载的适配器权重。
from pathlib import Path
import json
import torch
from diffusers import DiffusionPipeline
base_id = "stabilityai/stable-diffusion-xl-base-1.0"
lora_id = "ostris/ikea-instructions-lora-sdxl"
weight_file = "ikea_instructions_xl_v1_5.safetensors"
pipe = DiffusionPipeline.from_pretrained(
base_id, torch_dtype=torch.float16,
variant="fp16", use_safetensors=True,
)
pipe.load_lora_weights(lora_id, weight_name=weight_file, adapter_name="manual")
pipe.enable_model_cpu_offload()
out = Path("lora_comparison")
out.mkdir(exist_ok=True)
prompt = "a person assembling a wooden stool, simple instruction illustration"
records = []
for scale in (0.0, 0.6, 1.0):
pipe.set_adapters("manual", adapter_weights=scale)
image = pipe(
prompt=prompt, height=1024, width=1024,
num_inference_steps=30, guidance_scale=7.5,
generator=torch.Generator(device="cpu").manual_seed(42),
).images[0]
name = f"lora_{scale:.1f}.png"
image.save(out / name)
records.append({"output": name, "base": base_id, "lora": lora_id,
"weight_file": weight_file, "adapter_weight": scale,
"prompt": prompt, "seed": 42})
(out / "settings.json").write_text(
json.dumps(records, ensure_ascii=False, indent=2), encoding="utf-8",
)
0.0 用来观察无适配器影响的底模对照;0.6 和 1.0 是两档实验设置。比较过程中不调用 fuse_lora,以免把适配器合入底模后再误认为权重实验仍是原来的状态。
怎样确认加载和调整产生了可解释的结果
先检查 lora_comparison 中的三张图片和 settings.json,确认每张图对应正确底模、适配器文件与权重。再比较画风变化、主体是否完整、人物与凳子是否关系合理。风格更强但步骤图多出错误零件,不能按“更像说明书”直接判为合格。
保持同一提示词、尺寸、种子、步数和引导强度,只修改 adapter_weight。若三张看起来相同,先查适配器有没有加载、实际设置的名称是否为 manual、文件是否匹配底模;不要先把权重无限提高。若出现维度不匹配等加载错误,回到模型卡检查架构,不靠反复换随机种子修复。
常见疑问
下载了一个 LoRA,能用于所有绘图工具吗?
不能。工具需要支持该模型架构及对应 LoRA 加载方式。本文验证的是 Diffusers 文档中的加载接口;其他图形界面即使支持 LoRA,也要核对它的底模与加载实现。语言模型 LoRA 和绘图 LoRA 的组件不同,不能混用。
生成了说明书风格,就能当真实装配说明吗?
不能。这个示例提示词是人工编写的风格实验,生成模型不负责验证零件、顺序和安全条件。真实装配说明需要准确素材与人工核对,不能把生成画面作为事实来源。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31948.html