[Bug]: Drop down menu of ´Add Lora to prompt´ does nont have a ´none´ selection and always charge the last Lora selected

当你在 Stable Diffusion WebUI 的 Settings 中启用 sd_lora 后,底部“Add Lora to prompt”下拉菜单没有 None /空白选项,导致每一次生成都会强制带上上一次选中的 Lora;如果这个 Lora 文件是空文件或损坏文件,还会在激活时抛出 Sa

快速结论:当你在 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 中未提供,无需据此判断。

解决步骤

  1. 先定位下拉残留值。关闭 WebUI,打开 WebUI 根目录下的 config.json,查找 sd_lora 键。
  2. 若存在 sd_lora 且其值指向某个 Lora 名称,将其改为 "sd_lora": "None",;若该键不存在,可手动加入 "sd_lora": "None",。这是 Issue 评论中被报告为有效并被回复者认可的做法。
  3. 如果你希望从下拉菜单层面彻底加入空白选项,可修改 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 评论中给出的写法,不同版本行号可能变化,请以本机文件实际内容为准。

  4. 如果改完仍然残留,按评论建议排查扩展:进入 Extensions 标签,点击 Check for updates 后 Apply and restart UI;再取消勾选可能干扰的第三方扩展并重启 UI,重复几次直到确认是哪个扩展在恢复旧选择。内置扩展不需要参与这个排查。
  5. 若你曾创建“blank” Lora 导致 HeaderTooSmall,在处理完下拉选项后不要再选用该空文件;评论也指出不需要为了空选择去修改 lora.py,只需“none.safetensors”存在并在下拉中选中它即可让流程继续。
  6. 另一个回避方案:不使用“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

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 25300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注