StableDiffusion服务器搭建
搭建随机生成Waifu的前端,基于StableDiffusion
目录
前端部署
Linux下内存4G的设备,Windows下内存8G的设备未启动成功过
N卡配置GPU版的Torch,Linux下推荐cudnn版,参考机器学习相关笔记
安装Git和Python3.11,使用命令行下载Stable-diffusion-webui和相关库
1 | git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git |
如果是linux系统,还需要安装GL库(CPU版需要,装了NV驱动的同学忽略)
1 | apt-get install primus-libs |
运行launch.py,慢慢等它下载文件,等它找不到模型后自动报错退出
对于N卡,启动时根据需要自己加参数,根据你自己的要求改ip和端口号
1 | python3 launch.py --listen --port 8080 --no-half-vae |
对于非RTX卡,需要安装cudnn才能启用半精度,否则需要添加--precision full --no-half
如果小于4GB或者爆显存,需启用低显存模式--lowvram
如果是8GB这种很尴尬的显存,可以使用--medvram这种参数
如果使用RTX 30系及以上显卡,可使用xformers,要求CUDA >7.5
只需要在启动命令行后加--xformers
如果使用screen后台设置alias
1 | alias sd="cd /app/stable-diffusion-webui&&screen -dm python3 launch.py --listen --port 2334" |
安装中可能存在的错误
File “/usr/local/lib/python3.10/lzma.py”, line 27 ModuleNotFoundError: No module named ‘_lzma’
修改为
1 | try: |
报Can‘t load tokenizer for ‘openai/clip-vit-larg错误
在stable-diffusion-webui目录创建openai文件夹,将
卡在”ADetailer那边”
下载https://huggingface.co/Bingsu/adetailer/tree/main,放入models\adetailer文件夹
模型的使用
从其他Nas上复制
1 | sftp root@192.168.1.100 |
NovelAI模型
NovelAI流出版种子下载
主模型:将/novelaileak/stableckpt/animefull-latest/model.ckpt,改名成animefull-latest.ckpt放到/stable-diffusion-webui/models/Stable-diffusion/目录里
vae权重:将animevae.pt改名成animefull-latest.vae.pt和模型同样的目录
模型风格调整:将/novelaileak/stableckpt/modules/modules/里所有pt文件放入/stable-diffusion-webui/models/hypernetworks文件夹中
Stable-diffusion模型
Chilloutmix模型
链接:偏真人的模型
LoRA下载
chilloutmix_.safetensors放在/models/Stable-diffusion目录中
koreanDollLikeness_v10.safetensors放在/models/Lora目录中,顾名思义
taiwanDollLikeness_v10.safetensors放在/models/Lora目录中,顾名思义
下载下载VAE文件,丢到/models/VAE文件夹中
Anything
链接:万象熔炉,动漫风
Counterfeit
链接,偏油画风格,想象力很丰富,笔者博客钦定的模型
国风模型
风格偏真人,感觉巨难调教,国风2:Gf_style2.ckpt
GuoFeng3.2.safetensors放在/models/Stable-diffusion目录中
GuoFeng3.2_Lora.safetensors放在/models/Lora目录中
启用附加模块
Lora启用的方法:点Generate下面的第三个图标(Show extra networks),下面会新出现个框,点Lora,会自动在prompt里添加<lora:koreanDollLikeness_v10:1>
启用hypernetworks:跟启用Lora的方法类似,在hypernetwork中启用
其他插件
画手插件
Extensions->install from URL->https://github.com/jexom/sd-webui-depth-lib.git
在Installed里检查是否有“深度图编辑器插件”
汉化
Extensions->install from URL->https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN.git
Settings->User interface->Loaclization->
模型转换
Extensions->install from URL->https://github.com/Akegarasu/sd-webui-model-converter.git
在Installed里检查是否有“模型格式转换插件”
可以把FP32的模型转换为FP16,作用不大
CLIP
如果报错,需要使用pip3 install git+https://github.com/openai/CLIP.git
DeepDanbooru
在命令行尾部添加--deepdanbooru
下载模型后放到 /models/torch_deepdanbooru/model-resnet_custom_v3.pt
开启后在img2img的Generate的左边多出了个Interrogate DeepBooru,在下面加入图片即可
EasyNegative
下载后丢到/stable-diffusion-webui/embeddings里,在Negative prompt中添加EasyNegative启用
TiledDiffusion+StableSR
安装参考sd-webui-stablesr和16倍!又一个强到无敌的放大插件(脚本)StableSR,推荐!,效果参考Stable Diffusion WebUI 四种图像放大策略的简单比较
安装
Extensions->install from URL->https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git
在Installed里检查是否有“MultiDiffusion 放大器”
Extensions->install from URL->https://github.com/pkuliyi2015/sd-webui-stablesr.git
在Installed里检查是否有“sd-webui-stablesr”
下载v2-1_512-ema-pruned,放在models\Stable-diffusion里
下载weibu,将解压后的stablesr_webui_sd-v2-1-512-ema-000117.ckpt放在stable-diffusion-webui/extensions/sd-webui-stablesr/models/
下载vqgan_cfw_00011_vae_only.ckpt,放到models/VAE中
提示音
将提示音命名为 notification.mp3,放入webui 的根文件夹中灵感
图片重绘放大功能
由于StableDiffusion训练的图均为小图片,所以直接出大图可能会出错,生成图后直接放大的性价比不如挑选后再放大高。
模型选择v2-1_512-ema-pruned.safetensors
图像变化因重绘幅度(Denoising)而改变,大概以0.5为界限会出现很大的改动
提示:A tensor with all NaNs was produced in VAE,可能是爆显存了,建议添加--no-half-vae
启用Enable Tiled Diffusion和Enable Tiled VAE
Method选择Mixture of Diffusers
Latent tile设置64,重叠设置成32,算法不选
脚本选用StableSR,选择SRModel和Pure Noise
配置文件
修改ui-config.json可以设置默认参数
1 | "txt2img/Prompt/value": |
Batch count是点一次运行的次数,随便改大,但是时间也会变长,Batch size是一次出图数,改大会爆显存
分辨率必须是64的整数倍,否则会报错
提示:outputs\txt2img-images文件夹内存有之前生成过的内容
NovelAI关键词
NovelAI关键词生成器
也写在ui-config.json里
常用关键词
1 | anime,1loli,black pantyhose,school uniform //校服萝莉 |
推荐写法
1 | (masterpiece:1.331), best quality, |
不同模型的关键词比较
| Model | pantyhose | school uniform | leotard | tankini |
|---|---|---|---|---|
| Anything | 裤袜 | 水手服 | 死库水 | 各种泳衣 |
| Chilloutmix | 过膝袜 | 西服+短裙 | 死库水 | 两段式比基尼 |
| Counterfeit | 裤袜 | 水手服 | 奇怪的泳衣 | 三点比基尼 |
动作:spread legs
画图:full_body; figure; bust(半身)
分辨率和显存占用
| Ratio | With | Hight | Mem |
|---|---|---|---|
| 16:9 | 1280 | 720 | 6193/7814 |
| 1.1:1 | 720 | 640 | 6091/7888 |
| 2X | 1440 | 1280 | 7647/7682 |
| 1:1 | 1320 | 1320 | Fail |
| 0.75X | 1440 | 810 | Fail |
BenchMarks
Software:cudnn on with Nvidia GPU
Model: AnythingV5V3_v5PrtRE.safetensors
Parameter:Resolution 200×200; Sampling steps=30 ,CFG Scale=11.0,Five Times,Restore faces Off
Prompt: anime,1loli,black pantyhose,school uniform
Negative: EasyNegative,multiple_legs, multiple_arms, multiple_digits, bad_hand, cat_ear, rabbit_ear
Note: P104 power limits 90w,Plase pay attention to quantity units
| Device | RAM | Platform | Capacity |
|---|---|---|---|
| 12100+P104 | 32+8 | Debian/half | 6.33it/s |
| 12100+P104 | 32+8 | Debian/nohalf | 7.46it/s |
| 12100+P104 | 32+8 | Debian/half/lowvram | 0.116it/s |
| 12100F+T600 | 16+4 | Debian/half | 0.80it/s |
| 12100F+T600 | 16+4 | Debian/full | 0.80it/s |
| 12100F+T600 | 16+4 | Win10/half/lowvram | 0.44it/s |
| 12100F+T600 | 16+4 | Win10/full/lowvram | 0.43it/s |
相关链接
Dskjal教程(日文)
NovelAI本地完美部署使用手把手攻略教程
stable diffusion webui如何工作以及采样方法的对比