Stable Diffusion WebUI v1.9.0更新包含104项改进,包括特性更新(如基于模型时间步长的精炼器切换)、次要功能增强、扩展和API更新、性能优化、大量错误修复、硬件支持改进及其他多项改进。特性更新亮点包括优化精炼器切换逻辑、提供老式目录视图选项、回调排序功能、为SDXL-Lightning模型添加SGM_uniform调度器及在主UI中集成调度器选项。此更新进一步提升了用户体验和模型生成质量。
继上次v1.8.0更新后的一个月,Stable
Diffusion WebUI 又更新啦,这次是v1.9.0。我们来看看这次更新了哪些内容。
总共104项更新
1.
特性更新(Features):总共5项;
2.
次要更新(Minor):总共18项;
3.
扩展和API更新(Extensions
and API):总共8项;
4.
性能提升(Performance):总共3项;
5.
错误修复(Bug Fixes):总共41项;
6.
硬件支持(Hardware):总共4项;
7.
其他(Other):总共25项。
我来把最重要的特性更新为大家讲解一下,关于如何更新请参考过往文章。
Stable Diffusion WebUI v1.8.0重大更新!
特性更新:
·
根据模型时间步长(model timesteps)而不是采样步骤(sampling steps)进行精炼器(Refiner)切换
·
添加一个选项,可以选择老式的目录视图而不是树视图;为额外网络的排序/搜索控件进行样式更改
·
添加UI用于重新排序回调,支持在扩展元数据中指定回调顺序
·
为SDXL-Lightning模型添加Sgm统一调度器
·
在主UI中加入选择调度器
1. 根据模型时间步长(Model
timesteps)而不是采样步骤(Sampling
steps)进行精炼器(Refiner)切换
从原理上来讲精炼器(Refiner)会根据采样器和模型的训练方式(Model
time steps)去做调整,使得生成的图片质量效果更高。
以下是官方演示图:
从上面两张图可以看出在使用karras(调度器)和打开Refiner(精炼器)切换时机的值分别设置为0.8/0.88/1.0的情况下,旧版本的色彩会欠饱和或过饱和,而新版本的色彩饱和度就很正常,从视觉感觉非常柔和,所以新版本会根据Refiner的切换时机自适应调度器。官方建议Refiner切换时机的值设置为0.8。
2. 添加一个选项,可以选择老式的目录视图而不是树视图;为额外网络的排序/搜索控件进行样式更改
这次更改了树状结构视图,默认变为了类标签视图(这些类标签的按钮是在模型目录下的文件夹);还更改了搜索、排序的图标(ICON)样式。
3. 添加UI用于重新排序回调(callbacks),支持在扩展元数据中指定回调顺序
这个更新可以让用户和开发人员对回调(callbacks)进行重新排序,还能将指定的插件重新排序。
对于我们普通用户,在设置里的搜索框内输入callback或在系统>callbacks进入该区域,比如第一项app_started
callback priority大类,可以选择15种启动顺序。
(注意:这里指的是插件,我安装过这些插件所以会显示这么多,如果你没有安装过可能不会这样显示)
下拉框选择后可以多选这些插件排序,也就是callbacks的排序,这个排序方式是按照选中顺序来的。
(举例:加载速度较慢的插件可以排在最后面)
Tips:非开发人员不建议盲目设置,因为你还需要在终端里看清楚哪一个插件在启动时速度慢或加载时报错。
对于开发者, 在元数据文件metadata.ini中,支持通过After=和Before=指令来指定回调的执行顺序。
示例 metadata.ini 配置:
·
·
·
[callbacks/swinir/swinir_model.py/ui_settings]Before = ldsr/ldsr_model.py/ui_settingsAfter = hypertile/hypertile_script.py/ui_settings
在这个例子中,有三个回调:
1.
hypertile/hypertile_script.py/ui_settings
2.
3.
swinir/swinir_model.py/ui_settings
4.
5.
ldsr/ldsr_model.py/ui_settings
6.
7.
根据metadata.ini中的配置,这些回调将按照以下顺序重新排列:
1.
hypertile/hypertile_script.py/ui_settings(因为它被指定在swinir
回调之前执行)
2.
3.
swinir/swinir_model.py/ui_settings(因为它默认排在ldsr
回调之后执行)
4.
5.
ldsr/ldsr_model.py/ui_settings(因为它被指定在swinir
回调之后执行)
6.
具体可以参考Callback order #15205
4. 为SDXL-Lightning模型添加SGM_uniform
专为官方模型SDXL_Lightning增加了一个SGM_uniform调度器。
SDXL
Lightning 示例图 (4 step Euler):
可以看到,在SDXL_Lightning模型下使用Euler采样器和SGM_uniform调度器与其他调度器的对比图。如图,无论是近景细节还是远景细节处理地都非常完美。
SDXL
Lightning LoRA + KXL Delta 示例图 (4 step Euler):
这次用的是SDXL Lightning LoRA这个模型做的演示,可以看出还是SGM_uniform这个调度器出图的质量最高,Automatic其实和SGM_uniform差不多。
建议:在不知道用啥调度器的情况下可以设置为自动识别(Automatic)。
5.在主UI中加入调度器选项
从界面上看v1.9.0的采样器( Sampler)和调度器(Scheduler)分离了(旧版本的sdwebui采样器和调度器是一套的),分离之后和comfy UI的使用方法是一致的。
这个调度器其实就是噪声调度器,每个调度器都有自己的采样特点,以前在SDWebUI中无法实现采样器和调度器随意组合,现在就可以实现这个效果。
比如:现在可以用Euler a(采样器)和Karrs(调度器)相组合出图;还可以用DDIM和Karrs相组合等等。
次要更新:
·
"打开图像目录"按钮现在打开实际目录(一个非常实用的小功能)
·
支持使用LyCORIS BOFT网络进行推理
·
默认将额外网络卡描述设置为纯文本,提供一个选项重新启用之前的HTML格式
·
调整额外网络的调整手柄大小
·
命令行参数:--unix-filenames-sanitization 和 --filenames-max-length
·
以HTML表格形式而不是原始JSON显示额外网络的参数
·
添加DoRA(权重分解)对LoRA/LoHa/LoKr的支持
·
添加'--no-prompt-history'命令行参数,用于禁用最后的生成提示历史记录
·
更新替换预览的预览
·
仅获取扩展的活跃git分支的更新
·
将放大后处理UI放入折叠面板中
·
支持将URL拖放到读取infotext
·
使用diskcache库进行缓存
·
允许Extras标签页使用PNG-RGBA格式
·
支持在safetensors元数据中嵌入封面图片
·
使用NN放大时更快的中断
·
放大器Extras:添加一个输入字段,用于限制输出图像的最大边长
·
添加一个选项,用于隐藏Extras标签页中的后处理选项
扩展和API:
·
ResizeHandleRow - 允许重写列比例参数
·
更早调用script_callbacks.ui_settings_callback;修复使用不存在的设置时内置扩展会破坏UI的问题
·
使得zoom.js可以在webui上下文之外使用
·
允许在元数据.ini中使用扩展名称的变体
·
使得重新加载UI脚本在执行Reload UI时是可选的,并且默认关闭
·
将请求:gr.Request放在img2img函数的开始,类似于txt2img
·
open_folder作为工具
·
使得可以导入扩展的脚本文件作为导入脚本.<filename>
性能:
·
优化额外网络HTML页面的性能
·
优化额外网络的过滤性能
·
优化额外网络的排序性能
·
Bug修复:
·
阻止在还没有生成时按Escape键导致中断
·
避免在inpainting中发生双重放大
·
可能修复在某些情况下额外网络的重载按钮不出现的问题
·
修复当运行Split oversized images时split_threshold参数不工作的问题
·
修复垂直布局(移动设备)的调整手柄可见性
·
注册_tmp_file也考虑mtime
·
在精炼器切换时保护alphas_cumprod
·
修复API图像加载中的EXIF方向
·
仅在提示中实际使用时覆盖强调
·
修复从params.txt中缺失的强调信息文本
·
修复extract_style_text_from_prompt
·
修复AnimateDiff的Soft
Inpaint
·
edit-attention:取消选择周围的空白区域
·
chore:修复未加载的字体
·
在按路径排序时使用自然排序对额外网络进行排序
·
修复内置lora系统由于torch.nn.MultiheadAttention引起的错误
·
避免在get_learned_conditioning中出现None错误
·
在写入元数据后添加MassFileLister的条目
·
修复使用Hires提示时的样式问题
·
从hires fix prompt中删除注释
·
使imageviewer事件监听器在浏览器中保持一致
·
修复OFT中尝试获取MultiheadAttention权重时的AttributeError
·
重新添加.mean()
·
修复"恢复进度"按钮
·
修复InputAccordion [custom_script_source]的ui-config
·
处理0 wheel deltaY
·
防止Firefox中的alt菜单
·
修复:修复语法错误
·
恢复输出路径
·
Escape btn_copy_path
filename
·
修复包含撇号的文件名时的额外网络按钮
·
修复lora随机提示生成器中的转义括号
·
修复:修复PyTorch安装兼容性的Python版本检查
·
修复call_queue.py中的typo
·
修复:当找到已加载的模型时,通过数组索引删除已加载的模型
·
修复sd模型内存管理的小bug
·
修复CodeFormer权重
·
修复:从ordered_callbacks_map中移除脚本回调
·
修复有限的文件写入
·
修复额外单图像API在放大失败时的行为
·
错误处理paste_field callables
硬件:
·
为Ascend NPU添加训练支持并更改lspci
·
更新至ROCm5.7和PyTorch
·
为Navi1提供更好的解决方法,移除Navi3的--pre
·
Ascend NPU维基页面
其他:
·
更新Pad prompt/negative prompt v0的注释,添加关于截断的警告,并使其覆盖v1实现
·
支持触摸屏上的可调整列大小
·
修复使用翻译内容进行类别映射的问题
·
使用绝对路径进行归一化文件路径
·
调整resizeHandle的双击操作
·
添加直接链接到二进制发布的链接
·
upscaler_utils:减少日志记录
·
修复不支持透明度时的错误处理
·
添加模型描述到搜索术语中
·
bump action版本
·
PEP 604注释
·
当用户选择一个放大模型时,自动设置比例的值
·
将postprocessing-for-training移动到内置扩展中
·
在shared.py中添加类型提示
·
更新ruff至0.3.3
·
更新PyTorch Lightning工具
·
添加Size作为一个XYZ网格选项
·
使用HF_ENDPOINT变量为HuggingFace域名设置默认值
·
重新添加update_file_entry
·
create_infotext允许索引和callable,重新设计Hires
prompt信息文本
·
更新restricted_opts以包含更多用于--hide-ui-dir-config的选项
好了,以上就是这次 SDWebUI v1.9.0更新内容的中文解析。
项目地址:
https://github.com/AUTOMATIC1111/stable-diffusion-webui
出自:https://mp.weixin.qq.com/s/YMIzWIVrQVPnNkUXv6erjw
本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。
客服请加微信:skillupvip