stable-diffusion-webui 加载模型文件

背景

stable-diffusion-webui 安装完毕后,默认的模型生成的效果图并不理想,可以根据具体需求加载指定的模型文件。国内 modelscope 下载速度较快,以该站为例进行介绍

操作步骤

  1. 找到指定的模型文件
    https://modelscope.cn/models 中查找文本生成图片标签的模型,根据自己喜好点进模型详情页,初次使用,我们可以挑选一些模型文件较小的文件用于测试
  2. 找到模型文件的下载地址
    找到模型文件列表中的.safetensors文件,例如:flux1-dev.safetensors,右键单击下载按钮,复制链接地址。
  3. 下载该模型文件
    进入服务器路径/stable-diffusion-webui-docker/data/models/Stable-diffusion下,wget https://modelscope.cn/models/black-forest-labs/FLUX.1-dev/resolve/master/flux1-dev.safetensors 即可
  4. 重启 stable-diffusion-webui
    在左上角的模型下拉列表框中选中切换即可

下载 Lora 模型

modelscope 上模型标签有 LoRA 的都是支持 Lora 的模型,进入模型详情页,通过上一节的方法找到 Lora 模型的下载链接,进入服务器路径/stable-diffusion-webui-docker/data/models/Lora下,wget 下载即可。webui页面上,单击 Lora 页签,单击刷新

使用时,单击模型即可

运行时报错

Expected all tensors to be on the same device, but found at least two devices

复制代码
auto-1  |       File "/stable-diffusion-webui/modules/sd_hijack.py", line 348, in forward
auto-1  |         inputs_embeds = self.wrapped(input_ids)
auto-1  |       File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
auto-1  |         return self._call_impl(*args, **kwargs)
auto-1  |       File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1541, in _call_impl
auto-1  |         return forward_call(*args, **kwargs)
auto-1  |       File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/sparse.py", line 163, in forward
auto-1  |         return F.embedding(
auto-1  |       File "/opt/conda/lib/python3.10/site-packages/torch/nn/functional.py", line 2264, in embedding
auto-1  |         return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
auto-1  |     RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument index in method wrapper_CUDA__index_select)

参考 https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/16263 解决,我的解决方案是修改 /stable-diffusion-webui-docker/docker-compose.yml,指定 --device-id=0,如下:

复制代码
services:
  download:
    build: ./services/download/
    profiles: ["download"]
    volumes:
      - *v1

  auto: &automatic
    <<: *base_service
    profiles: ["auto"]
    build: ./services/AUTOMATIC1111
    image: sd-auto:78
    environment:
      - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api --device-id 0

safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer

复制代码
auto-1  |   warnings.warn(
auto-1  | creating model quickly: SafetensorError
auto-1  | Traceback (most recent call last):
auto-1  |   File "/opt/conda/lib/python3.10/threading.py", line 973, in _bootstrap
auto-1  |     self._bootstrap_inner()
auto-1  |   File "/opt/conda/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
auto-1  |     self.run()
auto-1  |   File "/opt/conda/lib/python3.10/threading.py", line 953, in run
auto-1  |     self._target(*self._args, **self._kwargs)
auto-1  |   File "/stable-diffusion-webui/modules/initialize.py", line 149, in load_model
auto-1  |     shared.sd_model  # noqa: B018
auto-1  |   File "/stable-diffusion-webui/modules/shared_items.py", line 175, in sd_model
auto-1  |     return modules.sd_models.model_data.get_sd_model()
auto-1  |   File "/stable-diffusion-webui/modules/sd_models.py", line 620, in get_sd_model
auto-1  |     load_model()
auto-1  |   File "/stable-diffusion-webui/modules/sd_models.py", line 723, in load_model
auto-1  |     sd_model = instantiate_from_config(sd_config.model)
auto-1  |   File "/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py", line 89, in instantiate_from_config
auto-1  |     return get_obj_from_str(config["target"])(**config.get("params", dict()))
auto-1  |   File "/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 563, in __init__
auto-1  |     self.instantiate_cond_stage(cond_stage_config)
auto-1  |   File "/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 630, in instantiate_cond_stage
auto-1  |     model = instantiate_from_config(config)
auto-1  |   File "/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py", line 89, in instantiate_from_config
auto-1  |     return get_obj_from_str(config["target"])(**config.get("params", dict()))
auto-1  |   File "/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/encoders/modules.py", line 104, in __init__
auto-1  |     self.transformer = CLIPTextModel.from_pretrained(version)
auto-1  |   File "/opt/conda/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2604, in from_pretrained
auto-1  |     state_dict = load_state_dict(resolved_archive_file)
auto-1  |   File "/opt/conda/lib/python3.10/site-packages/transformers/modeling_utils.py", line 450, in load_state_dict
auto-1  |     with safe_open(checkpoint_file, framework="pt") as f:
auto-1  | safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer

参考
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/14267
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/15568

大概有两种原因,要么是 safetensors 模型文件损坏,要么是文件 SHA 值校验不正确,有个暴力优化的办法是,直接删除 /stable-diffusion-webui-docker/data/.cache 隐藏目录,然后重启

相关推荐
迈火4 天前
Facerestore CF (Code Former):ComfyUI人脸修复的卓越解决方案
人工智能·gpt·计算机视觉·stable diffusion·aigc·语音识别·midjourney
重启编程之路4 天前
Stable Diffusion 参数记录
stable diffusion
孤狼warrior7 天前
图像生成 Stable Diffusion模型架构介绍及使用代码 附数据集批量获取
人工智能·python·深度学习·stable diffusion·cnn·transformer·stablediffusion
love530love10 天前
【避坑指南】提示词“闹鬼”?Stable Diffusion 自动注入神秘词汇 xiao yi xian 排查全记录
人工智能·windows·stable diffusion·model keyword
世界尽头与你10 天前
Stable Diffusion web UI 未授权访问漏洞
安全·网络安全·stable diffusion·渗透测试
love530love10 天前
【故障解析】Stable Diffusion WebUI 更换主题后启动报 JSONDecodeError?可能是“主题加载”惹的祸
人工智能·windows·stable diffusion·大模型·json·stablediffusion·gradio 主题
ai_xiaogui14 天前
Stable Diffusion Web UI 绘世版 v4.6.1 整合包:一键极速部署,深度解决 AI 绘画环境配置与 CUDA 依赖难题
人工智能·stable diffusion·环境零配置·高性能内核优化·全功能插件集成·极速部署体验
微学AI15 天前
金仓数据库的新格局:以多模融合开创文档数据库
人工智能·stable diffusion
我的golang之路果然有问题15 天前
开源绘画大模型简单了解
人工智能·ai作画·stable diffusion·人工智能作画
我的golang之路果然有问题16 天前
comfyUI中的动作提取分享
人工智能·stable diffusion·ai绘画·人工智能作画·comfy