快速结论:当你在 Stable Diffusion WebUI 的 Settings 中启用 sd_lora 后,底部“Add Lora to prompt”下拉菜单没有 None/空白选项,导致每一次生成都会强制带上上一次选中的 Lora;如果这个 Lora 文件是空文件或损坏文件,还会在激活时抛出 SafetensorError。
适用环境:Windows;浏览器 Microsoft Edge;Stable Diffusion WebUI(提交 955df7751eef11bb7697e2d77f6b8a6226b21e13);已启用内置 Lora 扩展;报告者装有多款第三方扩展(如 Civitai Helper、tagcomplete、ControlNet、composable-lora 等)。其他 Python、CUDA、PyTorch、显卡版本在 Issue 中未给出。
最快修复方案:Issue 中被标记为“Resolved”的处理方式是在 config.json 中手动加入 "sd_lora": "None",;另一种做法是在 extensions-builtin/Lora/lora_script.py 的下拉选项构造里把默认值改为 "None" 并把 "None" 加入 choices。
注意事项:修改 lora_script.py 属于改内置源码,后续更新 WebUI 可能被覆盖;有用户反馈改完后下拉里仍残留上一个 Lora,若你安装了会保存 UI 状态的扩展(例如 stable-diffusion-webui-state),需要先排除这类扩展的干扰。
问题场景
用户在 Stable Diffusion WebUI 中启用内置 Lora 扩展后,底部的“Add Lora to prompt”下拉菜单没有提供“不选 Lora”的空白项。用户想取消已经选中的 Lora 时无法真正清除,生成时仍会加载上一个选中的 Lora。报告者为了绕过这个问题还创建了一个“blank”Lora,虽然能用,但每次激活都会在日志里抛出 SafetensorError。
报错原文
activating extra network lora: SafetensorError
Traceback (most recent call last):
File "...\modules\extra_networks.py", line 85, in activate
extra_network.activate(p, [])
File "...\extensions-builtin\Lora\extra_networks_lora.py", line 23, in activate
lora.load_loras(names, multipliers)
File "...\extensions-builtin\Lora\lora.py", line 214, in load_loras
lora = load_lora(name, lora_on_disk.filename)
File "...\extensions-builtin\Lora\lora.py", line 133, in load_lora
sd = sd_models.read_state_dict(filename)
File "...\modules\sd_models.py", line 241, in read_state_dict
pl_sd = safetensors.torch.load_file(checkpoint_file, device=device)
File "...\site-packages\safetensors\torch.py", line 99, in load_file
with safe_open(filename, framework="pt", device=device) as f:
safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooSmall
原因分析
最可能的原因是内置 Lora 扩展的“Add Lora to prompt”下拉菜单默认值和选项列表里缺少 None,UI 状态会一直保留上一次选中的 Lora,用户没有可选的中立项来清空。于是每次生成都会重新激活上一次的 Lora;当被激活的 .safetensors 文件本身是空文件或头部信息不完整时,safetensors.torch.load_file 读取头部失败,抛出 HeaderTooSmall。另有评论认为这一路径本身较为脆弱,建议改用 Extra Networks 的红色按钮方式把 Lora 作为 tag 加入提示词。
环境排查
- 确认当前 Stable Diffusion WebUI 的提交版本是否为
955df7751eef11bb7697e2d77f6b8a6226b21e13或相近版本,旧版本可能仍存在该下拉菜单缺陷。 - 确认 Settings 中
sd_lora(Add Lora to prompt)是否已启用,以及 UI 是否已 reset。 - 检查
models/Lora下是否存在空文件、截断或损坏的.safetensors,尤其是报告者自建的“blank” Lora。 - 检查是否安装了会保存/恢复 UI 状态的扩展,例如
stable-diffusion-webui-state,这类扩展可能让下拉选择在重启后仍然保留。 - 检查
config.json中是否已有sd_lora键;若没有或值指向某个 Lora 名称,会是残留选中的直接来源。 - Python、CUDA、PyTorch、显卡型号在 Issue 中未提供,无需据此判断。
解决步骤
- 先定位下拉残留值。关闭 WebUI,打开 WebUI 根目录下的
config.json,查找sd_lora键。 - 若存在
sd_lora且其值指向某个 Lora 名称,将其改为"sd_lora": "None",;若该键不存在,可手动加入"sd_lora": "None",。这是 Issue 评论中被报告为有效并被回复者认可的做法。 - 如果你希望从下拉菜单层面彻底加入空白选项,可修改
extensions-builtin/Lora/lora_script.py,把默认值和 choices 都补上None,使该行形如:"sd_lora": shared.OptionInfo("None", "Add Lora to prompt", gr.Dropdown, lambda: {"choices": ["None"] + [x for x in lora.available_loras]}, refresh=lora.list_available_loras),注意这只是 Issue 评论中给出的写法,不同版本行号可能变化,请以本机文件实际内容为准。
- 如果改完仍然残留,按评论建议排查扩展:进入 Extensions 标签,点击 Check for updates 后 Apply and restart UI;再取消勾选可能干扰的第三方扩展并重启 UI,重复几次直到确认是哪个扩展在恢复旧选择。内置扩展不需要参与这个排查。
- 若你曾创建“blank” Lora 导致
HeaderTooSmall,在处理完下拉选项后不要再选用该空文件;评论也指出不需要为了空选择去修改lora.py,只需“none.safetensors”存在并在下拉中选中它即可让流程继续。 - 另一个回避方案:不使用“Add Lora to prompt”下拉,改用 Extra Networks 的红色按钮把 Lora 作为提示词 tag 加入,评论认为这样更不容易出现“忘记取消选择”的问题。
验证方法
重启 WebUI 后打开 txt2img/img2img,查看“Add Lora to prompt”下拉是否能停留在空白/None;生成一张图后刷新或重启 UI,确认不会自动重新选中上一个 Lora,且日志中不再出现 activating extra network lora: SafetensorError / HeaderTooSmall。
参考来源
AUTOMATIC1111/stable-diffusion-webui #9041
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug] Ascend NPU: RMSNorm crashes with elementwise_affine=False; _native_npu FA rejects [B, N, 1, Skv] masks (LTX-2)](https://www.chat-gpts.plus/wp-content/uploads/2026/09/14380-1858c464-1-768x403.jpg)
