Stable Diffusion WebUI v1.9.0重大更新!
卡狄滴滴 2024-07-05 10:33:02 阅读 75
继上次v1.8.0更新后的一个月,Stable Diffusion WebUI 又更新啦,这次是v1.9.0。我们来看看这次更新了哪些内容。
总共104项更新
特性更新(Features):总共5项;
次要更新(Minor):总共18项;
扩展和API更新(Extensions and API):总共8项;
性能提升(Performance):总共3项;
错误修复(Bug Fixes):总共41项;
硬件支持(Hardware):总共4项;
其他(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_settings``After = hypertile/hypertile_script.py/ui_settings
在这个例子中,有三个回调:
hypertile/hypertile_script.py/ui_settings
swinir/swinir_model.py/ui_settings
ldsr/ldsr_model.py/ui_settings
根据metadata.ini中的配置,这些回调将按照以下顺序重新排列:
hypertile/hypertile_script.py/ui_settings(因为它被指定在swinir
回调之前执行)
swinir/swinir_model.py/ui_settings(因为它默认排在ldsr
回调之后执行)
ldsr/ldsr_model.py/ui_settings(因为它被指定在swinir
回调之后执行)
具体可以参考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作为工具
使得可以导入扩展的脚本文件作为导入脚本.
性能:
优化额外网络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的选项
写在最后
感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
若有侵权,请联系删除
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。