引言
stable-diffusion-webui是一个很棒的开源项目,它是一款基于web的GUI应用,让用户能够方便地与 stable-diffusion模型进行交互,选择不同的模型,并实现从文本到图像(txt2img)的转换以及其他图像处理任务。也可进行图像生成图像以及图像高分辨、重绘(inpainting)、编辑等工作。
stable-diffusion-webui为创作者们提供了友好且直观的操作界面,无需直接编写代码就能够利用丰富的模型进行创作。用户也可以通过简单的参数配置,比如调整生成图片的尺寸、采样方式和步数、选择不同的预训练模型、调整seed等,来定制和优化生成图像的效果。同时,该Web UI也支持用户进行个性化训练,即在一定条件下训练自己的模型。
stable-diffusion-webui是一个便捷的工具,大大降低了复杂AI技术的使用门槛,让更多人能享受到AI驱动的图像生成技术带来的便利与创新可能。
更多信息,访问开源链接:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
最佳实践
环境配置和安装:
- python 3.10及以上版本
- pytorch推荐2.0及以上版本
- 建议使用CUDA 11.8及以上
本文在魔搭社区免费提供的GPU免费算力上体验:
开发者也可以使用modelscope的官方镜像,在云端或自有的设备上体验。
GPU环境镜像(python3.10):
registry.cn-beijing.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1 registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1 registry.us-west-1.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-cuda12.1.0-py310-torch2.1.2-tf2.14.0-1.13.1
下载和部署stable-diffusion-webui
clone代码,并安装相关依赖:
%cd /mnt/workspace/ # 安装依赖和下载源码 !apt update !apt install -y aria2 !pip install gradio==3.41.2 !pip install insightface !pip install gdown !git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
下载一些经典的文生图模型(包含SD基础模型,Lora,Controlnet等),并存放到models目录的相关子目录下。小伙伴们可以选择自己希望使用的模型并下载,如下代码注释了模型类型,并映射到了对应的存储文件夹。
# 基础模型下载 !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-2-1/repo?Revision=master&FilePath=v2-1_768-ema-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o v2-1_768-ema-pruned.ckpt !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/stable-diffusion-2-base/repo?Revision=master&FilePath=512-base-ema.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o 512-base-ema.ckpt !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/anything-v3.0/repo?Revision=master&FilePath=Anything-V3.0-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o Anything-V3.0-pruned.ckpt # VAE模型下载 !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/sd-vae-ft-mse-original/repo?Revision=master&FilePath=vae-ft-mse-840000-ema-pruned.ckpt" -d /mnt/workspace/stable-diffusion-webui/models/Stable-diffusion -o Anything-V3.0-pruned.vae.pt # clip模型下载 !git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git /mnt/workspace/stable-diffusion-webui/openai/clip-vit-large-patch14 # controlnet模型下载 !aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=canny-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o canny-sd21-safe.safetensors !aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=depth-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o depth-sd21-safe.safetensors !aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=hed-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o hed-sd21-safe.safetensors !aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=openpose-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o openpose-sd21-safe.safetensors !aria2c --console-log-level=error -c -x 16 -k 1M -s 16 "https://modelscope.cn/api/v1/models/sd_lora/ControlNet/repo?Revision=master&FilePath=scribble-sd21-safe.safetensors" -d /mnt/workspace/stable-diffusion-webui/extensions/sd-webui-controlnet/models -o scribble-sd21-safe.safetensors # Embedding模型下载 !git clone https://www.modelscope.cn/AI-ModelScope/negative.git /mnt/workspace/stable-diffusion-webui/embeddings/negative # lora模型下载 !git clone https://www.modelscope.cn/sd_lora/embed_lora.git /mnt/workspace/stable-diffusion-webui/models/Lora/positive # 放大模型(upscaler)下载 !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M "https://modelscope.cn/api/v1/models/AI-ModelScope/upscale/repo?Revision=master&FilePath=4x-UltraSharp.pth" -d /mnt/workspace/stable-diffusion-webui/models/ESRGAN -o 4x-UltraSharp.pth
本文涉及的模型链接:
基础模型:
https://modelscope.cn/models/AI-ModelScope/stable-diffusion-2-1
https://modelscope.cn/models/AI-ModelScope/stable-diffusion-2-base
https://modelscope.cn/models/AI-ModelScope/anything-v3.0
VAE模型:
https://modelscope.cn/models/AI-ModelScope/sd-vae-ft-mse-original
clip模型:
https://modelscope.cn/models/AI-ModelScope/clip-vit-large-patch14
Controlnet模型:
https://modelscope.cn/models/sd_lora/ControlNet
Embedding模型:
https://modelscope.cn/modelsAI-ModelScope/negative
lora模型:
https://modelscope.cn/modelsAI-ModelScope/sd_lora/embed_lora
放大模型:
https://modelscope.cn/models/AI-ModelScope/upscale
同时,魔搭社区还有丰富的基础模型,lora,视频生成模型,id相关的如facechain,instantid等,如果仅需要下载单个模型文件,在模型的主页,选择模型文件,单机需要下载的模型文件,右上角即可点击下载或复制下载链接。
运行sd-webui的前端gradio组件,拉起服务:
%cd stable-diffusion-webui !python launch.py --listen --xformers --enable-insecure-extension-access --theme dark --gradio-queue --lowvram
切换模型,可以看到不同的生成效果:
Anything-V3.0
sd2.1