背景
stable-diffusion-webui 安装完毕后,默认的模型生成的效果图并不理想,可以根据具体需求加载指定的模型文件。国内 modelscope 下载速度较快,以该站为例进行介绍
操作步骤
- 找到指定的模型文件
在 https://modelscope.cn/models 中查找文本生成图片
标签的模型,根据自己喜好点进模型详情页,初次使用,我们可以挑选一些模型文件较小的文件用于测试
- 找到模型文件的下载地址
找到模型文件列表中的.safetensors
文件,例如:flux1-dev.safetensors
,右键单击下载
按钮,复制链接地址。 - 下载该模型文件
进入服务器路径/stable-diffusion-webui-docker/data/models/Stable-diffusion
下,wget https://modelscope.cn/models/black-forest-labs/FLUX.1-dev/resolve/master/flux1-dev.safetensors
即可 - 重启
stable-diffusion-webui
在左上角的模型下拉列表框中选中切换即可
下载 Lora 模型
modelscope 上模型标签有 LoRA
的都是支持 Lora 的模型,进入模型详情页,通过上一节的方法找到 Lora 模型的下载链接,进入服务器路径/stable-diffusion-webui-docker/data/models/Lora
下,wget 下载即可。webui页面上,单击 Lora 页签,单击刷新
使用时,单击模型即可
运行时报错
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:- *v1auto: &automatic<<: *base_serviceprofiles: ["auto"]build: ./services/AUTOMATIC1111image: sd-auto:78environment:- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api --device-id 0