https://blog.csdn.net/weixin_44184411/article/details/136433198
automatic1111 (stable diffusion webui开源项目)
--listen 开启远程访问,局域网内主机可通过ip地址访问SD webui主机
--share 开启互联网访问,任何主机都可访问主机,启动后会在启动文本上显示访问链接
--port 通常是配合listen使用,自定义访问端口
--enable-insecure-extension-access 开启外部访问后,必须加此项才可以更改系统配置及安装扩展
--api 提供外部api调用,如photoshop插件,open-webui等外部程序
--xformers 指定xformers作为加速器,如果不指定,可以在系统设置中选择其它优化方法
--precision full 精度选择fp32精度,AMD, 40hx, telsa卡没有半精度的话,可以选这个
--medvram 8G显存需要选用
--medvram-sdxl 8G显存需要选用
--no-half 关闭半精度
--no-half-vae 仅在vae时关闭半精度。
forge (automatic1111的分支项目)区别点
forge项目对显存使用是动态优化的,所以砍掉了大部分显存优化参数,性能优化也可以直接在界面中设置,其它常用的参数同上,区别如下:
--all-in-fp32 全部跑fp32精度,同上--precision full
如果你的系统还是经常报OOD(显存不足)可以进一步优化:
--always-offload-from-vram 时刻卸载显存内驻留内容
--cuda-malloc 动态显存管理,按需要变更占用大小
--cuda-stream 简单理解就是用啥调啥
--pin-shared-memory 与cuda-stream一起使用,从显存卸载的内容,放到共享显存中,而不是放到内存中
优化策略
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Optimizations
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Optimum-SDXL-Usage
https://github.com/Chaoses-Ib/VisualComputing/blob/main/Image/Diffusion/Latent/README.md
半精度 fp16——提升生图速度 (默认用半精度模型进行计算,会快)。如果你看到这行里面有--no-half、--no-half-vae可以关掉
显存使用——能够正确生图,降低资源消耗,影响性能
使用--lowvram后,显存占用率显著降低,但是会发现内存与显存的占用有大的波动。打开taskmgr看一下占用,全都是波浪形的。
所以,在使用--lowvram后,显存和内存是在不断的交换的。
这就导致了你的cuda永远是吃不满的。往往这种情况下,你的cuda占用无法到达100%。(除了显卡算力过低以外)
4.sdxl 优化策略
-xformers-medvram-sdxl --xformers-lowvram --xformers-lowvram --opt-sub-quad-attention + TAESD in setting