4步生成高质量图像,Stable Diffusion WebUI 1.9.0来了!

上周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的完整发布说明

功能改进

  1. 根据模型时间步切换细化器,而非依赖采样步(#14978)
  2. 增加选项使用旧版目录视图替换树状视图,额外网络排序与搜索控制样式调整
  3. 添加用户界面以重新排列回调,并支持在扩展元数据中指定回调顺序(#15205)
  4. 为SDXL-Lightning模型引入统一的调度器(#15325)
  5. 主界面中新增调度器选择功能(#15333, #15361, #15394)

细节优化

  1. "打开图片目录"按钮现在直接打开实际目录(#14947)
  2. 支持使用LyCORIS BOFT网络进行推理(#14871, #14973)
  3. 默认将额外网络卡片描述设为纯文本,提供选项恢复原HTML格式
  4. 额外网络添加调整大小手柄(#15041)
  5. 命令行参数:--unix-filenames-sanitization 和 --filenames-max-length(#15031)
  6. 以HTML表格形式显示额外网络参数,而非原始JSON(#15131)
  7. 为LoRA/LoHa/LoKr添加DoRA(权重分解)支持(#15160, #15283)
  8. 添加--no-prompt-history命令行参数以禁用上一代提示历史记录(#15189)
  9. 在"替换预览"时更新预览(#15201)
  10. 仅针对扩展插件活跃Git分支获取更新(#15233)
  11. 将额外网络的上采样后处理UI放入折叠面板(#15223)
  12. 支持拖放URL以读取信息文本(#15262)
  13. 使用diskcache库进行缓存(#15287, #15299)
  14. 允许在"额外"标签页使用PNG-RGBA格式(#15334)
  15. 支持在safetensors元数据中嵌入封面图像(#15319)
  16. 使用NN上采样时加快中断速度(#15380)
  17. 额外上采样器:添加输入字段限制输出图像最大边长(#15293, #15415, #15417, #15425)
  18. 增加选项隐藏"额外"标签页中的后处理选项

扩展与API

  1. ResizeHandleRow:允许覆盖列缩放参数(#15004)
  2. 提前调用script_callbacks.ui_settings_callback;修复内置扩展插件因使用不存在的设置导致UI崩溃问题
  3. 使在WebUI外部环境使用zoom.js成为可能(#15286, #15288)
  4. 允许metadata.ini中使用扩展名称的变体(#15290)
  5. 使重新加载UI时脚本重载变为可选且默认关闭
  6. 类似txt2img函数,在img2img函数开头添加gr.Request请求
  7. 将open_folder作为实用工具(#15442)
  8. 支持以import scripts.方式导入扩展插件的脚本文件(#15423)

性能优化

  1. 额外网络HTML页面性能优化
  2. 额外网络过滤性能优化
  3. 额外网络排序性能优化

漏洞修复

  1. 防止在尚未生成图像时按Esc键触发中断
  2. [修复]避免在修复图像时双重上采样(#14966)
  3. 可能修复某些情况下额外网络"刷新"按钮不出现的问题
  4. 修复运行"分割过大图像"时split_threshold参数无效(#15006)
  5. 修复垂直布局(移动设备)中调整大小手柄的可见性(#15010)
  6. 为mtime添加register_tmp_file(#15012)
  7. 在细化器切换过程中保护alpas_cumprod(#14979)
  8. 修复API加载图像时EXIF方向问题(#15062)
  9. 只有在提示中实际使用时才覆盖强调(#15141)
  10. 修复params.txt中缺少强调信息文本(#15142)
  11. 修复extract_style_text_from_prompt #15132(#15135)
  12. 修复AnimateDiff的Soft Inpaint(#15148)
  13. 编辑注意力:取消选中周围空格(#15178)
  14. 修复字体未加载(#15183)
  15. 在按路径排序额外网络时使用自然排序
  16. 修复内置LoRA系统因torch.nn.MultiheadAttention引发的问题(#15190)
  17. 避免从get_learned_conditioning获取None值引发错误(#15191)
  18. 写入元数据后向MassFileLister添加条目(#15199)
  19. 修复使用高分辨率提示时的Styles问题(#15269, #15276)
  20. 去除高分辨率修复提示中的注释(#15263)
  21. 使imageviewer事件监听器与浏览器保持一致(#15261)
  22. 修复OFT尝试获取MultiheadAttention权重时的AttributeError(#15260)
  23. 恢复缺失的.mean()(#15239)
  24. 修复"恢复进度"按钮(#15221)
  25. 修复InputAccordion [custom_script_source]的ui-config(#15231)
  26. 处理wheel deltaY为0的情况(#15268)
  27. 防止Firefox显示Alt菜单(#15267)
  28. 修复语法错误(#15179)
  29. 恢复输出路径(#15307)
  30. 转义btn_copy_path中的文件名(#15316)
  31. 修复文件名包含撇号时额外网络按钮问题(#15331)
  32. 转义LoRA随机提示生成器中的括号(#15343)
  33. 修复Python版本检查以确保与PyTorch安装兼容性(#15390)
  34. 修复call_queue.py中的拼写错误(#15386)
  35. 修复通过数组索引查找已加载模型时的问题(#15382)
  36. 修复SD模型内存管理的小问题(#15350)
  37. 修复CodeFormer权重(#15414)
  38. 修复:移除ordered_callbacks_map中的脚本回调(#15428)
  39. 修复由Sylwia提出的文件写入限制问题
  40. 修复额外单张图像API上采样失败(#15465)
  41. 处理paste_field可调用对象的错误(#15470)

硬件支持

  1. 添加对Ascend NPU的训练支持并更改lspci(#14981)
  2. 更新至ROCm5.7和PyTorch(#14820)
  3. 对Navi1提供更佳解决方案,移除Navi3的--pre标记(#15224)
  4. Ascend NPU维基页面(#15228)

其他

  1. 更新Pad prompt/negative prompt v0的注释,加入关于截断的警告,并使其覆盖v1实现
  2. 支持触屏(平板电脑)调整列宽(#15002)
  3. 通过使用翻译内容解决类别映射问题来修复#14591(#14995)
  4. 使用绝对路径表示规范化文件路径(#15035)
  5. resizeHandle处理双击(#15065)
  6. 添加--dat-models-path命令行标志(#15039)
  7. 添加直接链接至二进制发行版(#15059)
  8. upscaler_utils:减少日志记录(#15084)
  9. 修复多个拼写错误(使用crate-ci/typos)(#15116)
  10. 修复jpeg

5、资源下载

SDXL-Lightning在线体验地址:hf-mirror.com/spaces/Byte...

SDXL-Lightning模型下载地址:给公众号 yinghuo6ai 发消息:闪电模型

如果你本地跑不起来SD,也欢迎体验我的AutoDL镜像,创建实例时搜索 yinghuoai-sd-webui-fast 即可使用,一键开启,无需复杂操作。

相关推荐
肥猪猪爸33 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
LZXCyrus1 小时前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive1 小时前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
goomind2 小时前
YOLOv8实战木材缺陷识别
人工智能·yolo·目标检测·缺陷检测·pyqt5·木材缺陷识别
只怕自己不够好2 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
幻风_huanfeng2 小时前
人工智能之数学基础:线性代数在人工智能中的地位
人工智能·深度学习·神经网络·线性代数·机器学习·自然语言处理
嵌入式大圣2 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉