背景
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