快速启动Stable Diffusion WebUI
本文为您介绍如何在阿里云交互式建模(PAI-DSW)中,基于Stable-Diffusion-WebUI快速启动Stable Diffusion WebUI,实现SD模型的推理。
背景信息
AIGC是指通过人工智能技术自动生成内容的生产方式,已经成为继互联网时代的下一个产业时代风口。其中,文生图(Text-to-image Generation)任务是流行的跨模态生成任务,旨在生成与给定文本对应的图像。本教程启动Stable Diffusion WebUI进行SD模型推理的示例效果如下所示。

准备环境和资源
创建工作空间,详情请参见创建工作空间。
创建DSW实例,其中关键参数配置如下。具体操作,请参见创建及管理DSW实例。
地域及可用区:进行本实践操作时,建议选择华北2(北京)、华东2(上海)、华东1(杭州)、华南1(深圳)这四个地域。这四个地域在后续操作中下载ChatGLM模型数据时速度更快。
实例规格选择:ecs.gn7i-c8g1.2xlarge。
镜像选择:在官方镜像中选择
stable-diffusion-webui-env:pytorch1.13-gpu-py310-cu117-ubuntu22.04
。
步骤一:下载stable-diffusion-webui开源库及其它依赖
进入PAI-DSW开发环境,具体操作请参见实例界面介绍。
在JupyterLab页签的Launcher页面,单击快速开始区域Notebook下的Python3。
在JupyterLab的Notebook中执行以下代码进行下载。
import os ! apt update ! apt install -y aria2 def aria2(url, filename, d): !aria2c --console-log-level=error -c -x 16 -s 16 {url} -o {filename} -d {d} url_prefix = { "cn-shanghai": "http://pai-vision-data-sh.oss-cn-shanghai-internal.aliyuncs.com", "cn-hangzhou": "http://pai-vision-data-hz2.oss-cn-hangzhou-internal.aliyuncs.com", "cn-shenzhen": "http://pai-vision-data-sz.oss-cn-shenzhen-internal.aliyuncs.com", "cn-beijing": "http://pai-vision-data-bj.oss-cn-beijing-internal.aliyuncs.com", } dsw_region = os.environ.get("dsw_region") prefix = url_prefix[dsw_region] if dsw_region in url_prefix else "http://pai-vision-data-sh.oss-cn-shanghai.aliyuncs.com" ! git clone https://gitcode.net/mirrors/AUTOMATIC1111/stable-diffusion-webui.git %cd stable-diffusion-webui ! git checkout a9fed7c364061ae6efb37f797b6b522cb3cf7aa2 repositories_url = f"{prefix}/aigc-data/code/repositories.tar.gz" aria2(repositories_url, repositories_url.split("/")[-1], "./") ! tar -xf repositories.tar.gz %cd ..
步骤二:安装常用插件
本示例会默认安装tagcomplete和汉化插件,您也可自行添加其它插件。
%cd stable-diffusion-webui/extensions
! git clone https://gitcode.net/mirrors/DominikDoom/a1111-sd-webui-tagcomplete.git
! git clone https://gitcode.net/ranting8323/stable-diffusion-webui-localization-zh_CN
%cd ..
! wget -c http://pai-vision-data-sh.oss-cn-shanghai.aliyuncs.com/aigc-data/webui_config/config.json
%cd ..
步骤三:下载模型
本示例将开源SD模型Counterfeit-v2.5作为base模型,为了保证下载的稳定性,在OSS上提供了缓存链接,您可直接执行以下命令下载缓存的模型。
model_url = f"{prefix}/aigc-data/sd_models/Counterfeit-V2.5_fp16.safetensors"
aria2(model_url, model_url.split("/")[-1], "stable-diffusion-webui/models/Stable-diffusion")
vae_url = f"{prefix}/aigc-data/vae_models/Counterfeit-V2.5.vae.pt"
aria2(vae_url, vae_url.split("/")[-1], "stable-diffusion-webui/models/VAE")
embedding_url = f"{prefix}/aigc-data/embedding/EasyNegative.safetensors"
aria2(embedding_url, embedding_url.split("/")[-1], "stable-diffusion-webui/embeddings")
步骤四:启动WebUI
执行以下命令,启动WebUI。
! cd stable-diffusion-webui && python -m venv --system-site-packages --symlinks venv ! cd stable-diffusion-webui && \ sed -i 's/can_run_as_root=0/can_run_as_root=1/g' webui.sh && \ ./webui.sh --no-download-sd-model --xformers
在返回结果中,单击
Running on public URL
后的URL(例如:http://127.0.0.1:7860),进入WebUI页面。后续您可以在该页面,进行模型推理。
步骤五:试玩模型
完成以上操作后,您已经成功完成了AIGC文生图模型的WebUI部署。您可以在WebUI页面,进行模型推理验证。相关参数可参考以下进行设置,完成后单击生成。

模型的VAE:Counterfeit-V2.5.vae.pt
提示词:
prompt
((masterpiece,best quality)),1girl, solo, animal ears, rabbit, barefoot, knees up, dress, sitting, rabbit ears, short sleeves, looking at viewer, grass, short hair, smile, white hair, puffy sleeves, outdoors, puffy short sleeves, bangs, on ground, full body, animal, white dress, sunlight, brown eyes, dappled sunlight, day, depth of field
negative prompt
EasyNegative, extra fingers,fewer fingers
采样方法(Sampler):DPM++2M Karras
高清修复:勾选
重绘幅度:0.6
放大倍率:1.8
高度:832
提示词相关性(CFG Scale):10
随机种子(seed):2337269170