如何高效使用Stable Diffusion(二)WebUI进行图像生成?
摘要:1. 前言 基于 https:stable-diffusion-art.com 内的教程进行翻译与整理,帮助快速上手 stable-diffusion 的使用。 2. 环境 AWS
1. 前言
基于https://stable-diffusion-art.com/内的教程进行翻译与整理,帮助快速上手 stable-diffusion 的使用。
2. 环境
AWS DeepLearning AMI
3. 部署Stable Diffusion web UI
Web UI github:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
SD web UI提供了一站式的SD工具,功能非常全面。
部署:
bash <(wget -qO- https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh)
Model loaded in 14.5s (calculate hash: 11.3s, load weights from disk: 0.2s, create model: 0.8s, apply weights to model: 0.3s, apply half(): 0.2s, load VAE: 1.1s, move model to device: 0.6s).
Running on local URL: http://127.0.0.1:7860
之后遍自动部署了监听本地7860端口的webui。其中所有相关文件均在stable-diffusion-webui下。
由于需要外网访问,所以需要使用--listen的启动参数:
./webui.sh --listen
启动命令参考:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings
启动后的界面,可以看到默认是v1-5-pruned-emaonly的模型:
3.1. stable diffusion v1-5-pruned-emaonly
根据huggingface的介绍,v1-5-pruned 版本是基于 v1-2 版本fine tune得到,提升了CFG采样:
https://huggingface.co/runwayml/stable-diffusion-v1-5
在介绍文档里,可以看到,权重分为2种:
v1-5-pruned-emaonly.ckpt - 4.27GB, ema-only weight. uses less VRAM - suitable for inference
v1-5-pruned.ckpt - 7.7GB, ema+non-ema weights. uses more VRAM - suitable for fine-tuning
可以看到emaonly的区别在于:它的规模更小,使用更少的显存,适合做推理。而ema+non-ema的规模更大,使用更多显存,适合做调优。
Checkpoint文件就是Stable Diffusion的权重。
4. 添加inpainting模型
可以将下载的Stable Diffusion模型放在目录stable-diffusion-webui/models/Stable-diffusion/ 下。
例如,假设我们要做inpaint的调整。先在huggingface下载stable-diffusion-inpainting的checkpoint:
https://huggingface.co/runwayml/stable-diffusion-inpainting
并存放在stable-diffusion-webui/models/Stable-diffusion/ 下。
而后我们在web UI 刷新checkpoint目录即可:
使用时,在 img2img 的 Inpaint 部分上传图片,并使用鼠标进行遮盖。然后输入prompt 词,即可替换遮盖内容。
4.1. inpainting参数解释
在做inpainting时,相关参数解释为:
Denoising strength:控制最终图片与初始图片的变化程度。
