上周Stable Diffusion WebUI正式发布了1.9.0版本,我也第一时间把AutoDL镜像升级到了最新版本,有几个比较重要的更新再和大家同步下。
1、为SDXL-Lightning模型使用SGM统一调度器
SDXL-Lightning由字节跳动开源,是一款闪电般的快速文生图模型,能够在几步之内生成高质量的1024像素图像。模型源自 stable-diffusion-xl-base-1.0,提供了包含1步、2步、4步和8步的蒸馏模型,目前2步、4步及8步模型已经可以生成高质量的图片,1步模型还是实验性的。
Stable Diffusion WebUI之前的调度器都不能很好的适应这个模型,导致出图质量不佳,现在一个新的调度器来了,sgm-uniform可以让SDXL-Lightning在SD WebUI中表现的更加完美。
看看效果吧:
对于原版的SDXL,2-4步只能出个大概的面部轮廓,对于闪电模型,4步较为完美。
使用方法如下:
SDXL-Lightning模型下载地址见文末。
2、细化器的切换由依赖采样步改为依赖模型时间步
在Stability AI发布SDXL 1.0时,同时发布了一个精修模型,用户可以先使用SDXL 1.0的基础模型生成一张图片,然后再使用SDXL 1.0的精修模型让图片更加完美。
在 Stable Diffusion WebUI 之前的版本中,从基础模型到精修模型的切换时机依赖的是采样步数,如下图所示:在迭代步数为20,切换点为0.8的设置下,前16步采样将使用基础模型,后4步采样将采用精修模型。
但是依赖采样步存在问题:因为精修模型是在基础模型的最后若干个时间步上训练的,而不是在采样步上训练的,使用不同的调度器时它们俩是不同步的。如果依赖的是采样步,不同的调度器下想要达到同样的图片质量,我们必须修改“切换点”,才能让精修模型更好的发挥作用。比如在文生图时,默认调度器的“切换点”是0.8,但是Karras调度器的“切换点”可能需要是0.88,这不好理解,也不方便使用。
“切换点”依赖时间步后,针对不同的调度器,我们可以统一使用相同的“切换点”取值,让精修模型都能正常发挥作用。现在,对于SDXL 1.0 发布的精修模型,无论采用什么调度器,0.8是个正确值。
3、调度器从采样方法中独立出来
在生成图片的时间维度上,调度器用来控制噪音水平,也就是控制每次采样时增加多少噪音进去,不同的调度器有不同的噪音控制曲线,对生成图片的质量有一定的影响。
之前它是和采样方法放到一起的,采样方法是去除噪音的算法,比如 DPM++ 2M Karras,其中的Karras就是调度器,DPM++ 2M才是真正的采样方法。现在为了更容易控制和理解,它们分家了。
默认是Automatic,也就是自动选择,大家应该也不用太关心。除非是生成图片的效果不佳,你可以试试用不同的调度器,看看会不会有所提升。
4、1.9.0的完整发布说明
功能改进
- 根据模型时间步切换细化器,而非依赖采样步(#14978)
- 增加选项使用旧版目录视图替换树状视图,额外网络排序与搜索控制样式调整
- 添加用户界面以重新排列回调,并支持在扩展元数据中指定回调顺序(#15205)
- 为SDXL-Lightning模型引入统一的调度器(#15325)
- 主界面中新增调度器选择功能(#15333, #15361, #15394)
细节优化
- “打开图片目录”按钮现在直接打开实际目录(#14947)
- 支持使用LyCORIS BOFT网络进行推理(#14871, #14973)
- 默认将额外网络卡片描述设为纯文本,提供选项恢复原HTML格式
- 额外网络添加调整大小手柄(#15041)
- 命令行参数:--unix-filenames-sanitization 和 --filenames-max-length(#15031)
- 以HTML表格形式显示额外网络参数,而非原始JSON(#15131)
- 为LoRA/LoHa/LoKr添加DoRA(权重分解)支持(#15160, #15283)
- 添加--no-prompt-history命令行参数以禁用上一代提示历史记录(#15189)
- 在“替换预览”时更新预览(#15201)
- 仅针对扩展插件活跃Git分支获取更新(#15233)
- 将额外网络的上采样后处理UI放入折叠面板(#15223)
- 支持拖放URL以读取信息文本(#15262)
- 使用diskcache库进行缓存(#15287, #15299)
- 允许在“额外”标签页使用PNG-RGBA格式(#15334)
- 支持在safetensors元数据中嵌入封面图像(#15319)
- 使用NN上采样时加快中断速度(#15380)
- 额外上采样器:添加输入字段限制输出图像最大边长(#15293, #15415, #15417, #15425)
- 增加选项隐藏“额外”标签页中的后处理选项
扩展与API
- ResizeHandleRow:允许覆盖列缩放参数(#15004)
- 提前调用script_callbacks.ui_settings_callback;修复内置扩展插件因使用不存在的设置导致UI崩溃问题
- 使在WebUI外部环境使用zoom.js成为可能(#15286, #15288)
- 允许metadata.ini中使用扩展名称的变体(#15290)
- 使重新加载UI时脚本重载变为可选且默认关闭
- 类似txt2img函数,在img2img函数开头添加gr.Request请求
- 将open_folder作为实用工具(#15442)
- 支持以import scripts.<filename>方式导入扩展插件的脚本文件(#15423)
性能优化
- 额外网络HTML页面性能优化
- 额外网络过滤性能优化
- 额外网络排序性能优化
漏洞修复
- 防止在尚未生成图像时按Esc键触发中断
- [修复]避免在修复图像时双重上采样(#14966)
- 可能修复某些情况下额外网络“刷新”按钮不出现的问题
- 修复运行“分割过大图像”时split_threshold参数无效(#15006)
- 修复垂直布局(移动设备)中调整大小手柄的可见性(#15010)
- 为mtime添加register_tmp_file(#15012)
- 在细化器切换过程中保护alpas_cumprod(#14979)
- 修复API加载图像时EXIF方向问题(#15062)
- 只有在提示中实际使用时才覆盖强调(#15141)
- 修复params.txt中缺少强调信息文本(#15142)
- 修复extract_style_text_from_prompt #15132(#15135)
- 修复AnimateDiff的Soft Inpaint(#15148)
- 编辑注意力:取消选中周围空格(#15178)
- 修复字体未加载(#15183)
- 在按路径排序额外网络时使用自然排序
- 修复内置LoRA系统因torch.nn.MultiheadAttention引发的问题(#15190)
- 避免从get_learned_conditioning获取None值引发错误(#15191)
- 写入元数据后向MassFileLister添加条目(#15199)
- 修复使用高分辨率提示时的Styles问题(#15269, #15276)
- 去除高分辨率修复提示中的注释(#15263)
- 使imageviewer事件监听器与浏览器保持一致(#15261)
- 修复OFT尝试获取MultiheadAttention权重时的AttributeError(#15260)
- 恢复缺失的.mean()(#15239)
- 修复“恢复进度”按钮(#15221)
- 修复InputAccordion [custom_script_source]的ui-config(#15231)
- 处理wheel deltaY为0的情况(#15268)
- 防止Firefox显示Alt菜单(#15267)
- 修复语法错误(#15179)
- 恢复输出路径(#15307)
- 转义btn_copy_path中的文件名(#15316)
- 修复文件名包含撇号时额外网络按钮问题(#15331)
- 转义LoRA随机提示生成器中的括号(#15343)
- 修复Python版本检查以确保与PyTorch安装兼容性(#15390)
- 修复call_queue.py中的拼写错误(#15386)
- 修复通过数组索引查找已加载模型时的问题(#15382)
- 修复SD模型内存管理的小问题(#15350)
- 修复CodeFormer权重(#15414)
- 修复:移除ordered_callbacks_map中的脚本回调(#15428)
- 修复由Sylwia提出的文件写入限制问题
- 修复额外单张图像API上采样失败(#15465)
- 处理paste_field可调用对象的错误(#15470)
硬件支持
- 添加对Ascend NPU的训练支持并更改lspci(#14981)
- 更新至ROCm5.7和PyTorch(#14820)
- 对Navi1提供更佳解决方案,移除Navi3的--pre标记(#15224)
- Ascend NPU维基页面(#15228)
其他
- 更新Pad prompt/negative prompt v0的注释,加入关于截断的警告,并使其覆盖v1实现
- 支持触屏(平板电脑)调整列宽(#15002)
- 通过使用翻译内容解决类别映射问题来修复#14591(#14995)
- 使用绝对路径表示规范化文件路径(#15035)
- resizeHandle处理双击(#15065)
- 添加--dat-models-path命令行标志(#15039)
- 添加直接链接至二进制发行版(#15059)
- upscaler_utils:减少日志记录(#15084)
- 修复多个拼写错误(使用crate-ci/typos)(#15116)
- 修复jpeg
5、资源下载
SDXL-Lightning在线体验地址:https://hf-mirror.com/spaces/ByteDance/SDXL-Lightning
SDXL-Lightning模型下载地址:给公众号 yinghuo6ai 发消息:闪电模型
如果你本地跑不起来SD,也欢迎体验我的AutoDL镜像,创建实例时搜索 yinghuoai-sd-webui-fast 即可使用,一键开启,无需复杂操作。
另外我整理了一份系统的 Stable Diffusion WebUI 使用教程,包括基础篇、ControlNet、插件、实战、模型训练等多个方面,还会不定期发布最新的热门玩法,比较全面、体系化,适合新手快速入门,也适合有一定经验的同学突破瓶颈。教程目录:从此开始阅读
以上就是本文的主要内容,如有问题,欢迎留言讨论。