Stable Diffusion WebUI v1.8.0重大更新!
发布时间:2024年06月06日
就在前几天,Stable Diffusion WebUI的作者AUTOMATIC1111,在GitHub上将其更新到了最新版—v1.8。
更新内容
总共有117项更新:
1.特性更新(Features):总共14项特性更新;
2.次要更新(Minor):总共25项次要更新;
3.扩展和API更新:总共16项扩展和API相关的更新;
4.性能提升:总共3项性能提升;
5.错误修复(Bug Fixes):总共有38项错误修复;
6.其他更新:总共21项其他更新。
我来把最重要的特性更新为大家讲解一下。
特性更新:
·升级torch至2.1.2版本
·引入柔和重绘功能
·支持FP8格式
·支持SDXL-Inpaint模型
·使用Spandrel进行放大和面部修复架构
·自动向后兼容版本(加载指定程序版本的旧图像信息文本时,将添加兼容性设置)
·实现零终端信噪比噪声计划选项
·在画廊中为选定的图像添加[✨]按钮以运行高分辨率修复
·分离资产库;本地而非Google服务器提供字体服务
·官方LCM采样器支持
·支持DAT系列放大算法模型
·额外网络树视图
·NPU支持
·支持提示词注释
如何更新
秋叶启动器版本
首先我们打开秋叶启动器,在左侧的导航栏找到“版本管理”按钮,点击后进入内核模块的版本列表。
找到更新内容2024年第9周-1.8.0,点击右侧切换按钮就可以更新了(由于我已经更新过了切换按钮没了),还有一种方法就是直接点击右上角的一键更新按钮。
更新完成之后就可以打开一键启动,控制台会自动运行更新代码。
特性更新
1.
Torch升至2.1.2版本
在左侧导航高级选项的环境维护模块内的安装PyTouch版本处多出了Torch2.1.2(CUDA11.8和CUDA12.1)这两个版本。
技术小知识:
是一个开源的深度学习框架,由Facebook的人工智能研究团队(FAIR)开发和维护。它是一个非常流行的深度学习框架,用于构建和训练神经网络模型。PyTorch提供了丰富的API和工具,使得构建复杂的神经网络模型变得简单,同时也支持从研究原型到生产部署的全过程。
两者关系:
使用 CUDA 来加速神经网络的训练和推理。在 PyTorch
中,张量(Tensor)可以在 CPU 或 GPU 上进行计算。如果你想在 GPU 上训练神经网络,你需要确保 CUDA 已经正确安装并配置。
通常理解就是版本越高计算速度越快,效率越高。
注意:不建议盲目升级到最高版本,要按照自己的系统(Windows,Linux,macOS)和硬件资源(CPU、内存、显存)适配再考虑升级,也可以参考NVIDIA的官方技术手册。
2. 柔和重绘功能
这次的1.8版本在图生图模块内新增了一个柔和重绘功能(非常好用!),以前没有这个功能的时候局部重绘生成的图瑕疵非常大,有很明显的接缝感。
那么我们直接来看看例子:
我用局部重绘功能的画笔把这张图里的汪星人选中,然后我把它换成喵星人。
这张图是没开启柔和重绘。
这张图是开启柔和重绘。
在未启用柔和重绘功能的情况下,画笔的边界显得异常生硬,仿佛是将这只可爱的喵星人强行嵌入画面之中。然而,一旦开启了柔和重绘,这只喵星人便与背景巧妙地融为一体,其融合效果堪称完美,使得整个画面呈现出一种和谐的美感。
这里我只是拿小动物做了个例子,其实这个功能对于电商行业的模特换装或者产品换背景是最最适用的,可以提升不少工作效率。
3.
支持FP8精度
显存方面:
在旧版本中最低支持FP16精度,这次的新版本支持最低FP8精度了,什么意思呢,看上图,这是官方用RTX4090做的测试,测试图显示在推理峰值的情况下用SDXL模型运算可以节省2.5G-2.8G的显存,在SD1.X模型运算可以节省0.8G-0.9G的显存。
速度方面:
不过呢 ,虽然优化了显存,但是推理速度会相对降低,官方给出的测试数据是下降5%。
质量方面:
官方给出的测试效果是,FP8几乎不会降低生成图的质量,有时甚至还会提高质量。
最后,官方的总结是FP8精度是非常优秀的,几乎不会增加显存的使用成本。这对于SDXL用户来说是个好消息,此外,甚至可以直接使用FP8精度的ckpt模型,这样能直接减少内存需求。
然而,FP8精度在LoRA上的效果减弱还是有些问题的,官方给出可以调高LoRA权重。
重点,FP8需结合PyTorch2.1.0版本使用,然而这个版本可能并不稳定,只有PyTorch2.1.1目前是最稳定的版本,但是还要结合xformers更新到PyTorch2.1.1才能合并使用。
如何开启FP8?
在SDwebUI的设置模块搜索FP8,这里很重要的一点是需要 Pytorch 版本 >=2.1.0。
建议:4G-8G显存点击启用,大于8G显存点击对SDXL模型启用,启用后保存设置重启WebUI。切记!!!在不了解自己的Pytorch是啥版本的小伙伴不要盲目的开启FP8模式噢。
4.
支持SDXL-Inpaint模型
以前用SDXL修复模型有时候会报错并且修复效果不好,这次官方直接给出了专门用于图片修复的模型SDXL-Inpaint模型(类似局部重绘),效果如下:
下载链接在文尾。
5.
使用Spandrel进行放大和面部修复架构
这一条主要是对于放大算法和面部修复做了优化,了解具体内容的小伙伴可以留言给我噢!
6.
自动向后兼容版本(加载指定程序版本的旧图像信息文本时,将添加兼容性设置)
优化了回滚旧版本的兼容性,举例:目前v1.8.0,我想降级到v1.7.0或更以前的版本,将不再报错了。
7. 实现零终端信噪比噪声计划选项
“零终端信噪比”(Zero Terminal SNR)指的是在生成模型的噪声调度过程中,将最终的噪声水平设置为零或接近零。“噪声调度选项”(noise schedule option)则是指在模型训练或图像生成过程中,可以调整噪声水平的一种功能。主要是一个改进生成模型噪声调度的功能,通过调整噪声水平来提高生成图像的质量,提高了出图的细节和真实感。
8. 在画廊中为选定的图像添加[✨]按钮以运行高分辨率修复
在文生图模块的出图区域,多了一个星星按钮(由于我这个版本换过主题,所以icon变成了如图这个)。这个按钮是一个高清修复的快捷按钮,放大比例与算法是高清修复内的默认设置。
在未开启高清修复的时候,高清修复默认选择已选中的放大算法,如上图。
9.
分离资产库;本地而非Google服务器提供字体服务
字体库和CSS库拆离。
10.
官方LCM采样器支持
SD WebUI直接支持LCM采样器了,无需另外下载。
从其他渠道安装的LCM可以删除了,我这里从其他渠道装过了所以会显示两个。
11.
支持DAT系列放大算法模型
支持了3个DAT放大模型:DAT X2;DAT X3;DAT X4,从放大生成速度上来讲,DAT X4最快,X3中等,X2最快。从放大质量上来讲,DAT X2是最好的。一般显卡大于8G的就用 DAT X2把,不过我还是选择4X-UltraSharp。
12.
额外网络树视图
额外网络模块多了一个树功能,类似于windows的目录结构,可以有效的管理模型。
13. NPU支持
支持昇腾NPU 芯片出图。
14. 支持提示词注释
#,后面加入提示词注释,sd不会生成与注释相关的内容。
更多的更新如下:
次要更新:
·允许在宽高字段中粘贴WIDTHxHEIGHT字符串
·添加选项:在全页面图像查看器中实时预览
·添加生成/跳过/中断的键盘快捷键
·在不同平台上改善TCMALLOC支持
·Lora未找到警告
·在额外网络中添加负面提示到Loras
·xyz_grid:允许在与轴选项不同的轴上变化种子
·选项将VAE转换为bfloat16
·改善IPEX支持
·选项在当前生成完成后而非立即中断
·全屏预览控制淡入/淡出
·更精细的设置冻结控制
·提高放大器限制
·使用热键调整画笔大小
·在保存图像时将检查点信息添加到csv日志文件中
·使更多列可调整大小
·添加选项,在修复时不叠加原始图像
·添加Pad conds v0选项以支持与1.6.0之前相同的生成
·添加“中断中...”占位符。
·刷新扩展列表的按钮
·添加选项,在计算强调后禁用标准化
·在计数令牌时,也包括启用的风格(可以在设置中禁用以恢复之前的行为)
·配置[📂]按钮用于图像画廊
·支持使用LyCORIS BOFT网络进行推理
·支持触摸(平板)可调整大小的列
扩展和API:
·从需求中移除包:basicsr, gfpgan,
realesrgan;以及它们的依赖项:absl-py, addict, beautifulsoup4,
future, gdown, grpcio, importlib-metadata, lmdb, lpips, Markdown, platformdirs,
PySocks, soupsieve, tb-nightly, tensorboard-data-server, tomli, Werkzeug, yapf,
zipp, soupsieve
·为API启用任务ID
·添加infotext API的override_settings支持
·将generation_parameters_copypaste模块重命名为infotext_utils
·防止由于Script __init__异常而导致的崩溃
·将numpy升级至1.26.2
·添加用于检查模型数据类型/设备的实用程序
·为所有内置lora ext方法实现通用的forward方法
·在移动到目标设备后执行model_loaded_callback
·将self添加到CFGDenoiserParams
·允许仅API模式下使用TLS
·新回调:postprocess_image_after_composite
·modules/api/api.py: 添加API端点以刷新嵌入列表
·set_named_arg
·添加before_token_counter回调并用于提示注释
·ResizeHandleRow - 允许覆盖列比例参数
性能提升:
·针对包含大量文件的额外网络目录进行大规模性能改进,尝试解决
·减少不必要的重新索引额外网络目录
·避免不必要的isfile/exists调用
错误修复:
·修复与样式多文件支持相关的多个错误
·Lora修复
·重新添加作为e294e46一部分丢失的设置
·修复extras标题BLIP
·包括在img2img保存的初始化图像中的infotext
·xyz网格处理axis_type为None
·更新添加(修复)在没有传递webui参数时的IPV6功能webui.py
·修复txt2img和img2img的API线程安全问题
·处理selectable script_index为None
·处理config.json加载失败
·粘贴infotext时将int转换为float
·确保GRADIO_ANALYTICS_ENABLED足够早地设置
·再次修复日志配置
·处理CondFunc异常时解析属性
·修复extras大批量崩溃
·修复由于别名导致的错误模型
·将#添加到无效_filename_chars列表中
·修复扩展检查需求
·修复UI重启后标签索引重置
·修复嵌套手动转换
·在重启后保持选定的放大后处理选项卡
·XYZ网格:当轴是int或float类型时(如int轴种子),过滤掉空白值
·修复CLIP Interrogator topN正则表达式
·修复MHA层中的dtype错误/更改dtype检查机制的手动转换
·捕获加载style.csv错误
·修复编辑额外网络卡时的错误
·修复首次创建带有元数据的.json文件时额外网络元数据无法正常工作的问题。
·util.walk_files扩展不区分大小写
·如果扩展页面未加载,请防止应用
·调用img2img中正确的token计数器函数
·修复使用其他ExtraNetworks扩展时搜索/重新加载会消失的错误
·优雅处理mtime读取缓存中的异常
·仅当中断按钮可见时,通过Esc触发中断
·禁用提示令牌计数器选项实际上禁用了令牌计数,而不仅仅是隐藏结果。
·避免在修复中进行双重放大
·修复#14591使用翻译内容进行类别映射的错误
·修复:当运行Split过大的图像时,split_threshold参数不起作用
·修复移动设备的resize-handle
其他:
·为“extra_options”分配ID。将数字字段替换为滑块。
·将状态字典比较更改为引用比较
·将torch-rocm升级至5.6/5.7版本
·将基础输出路径设置为数据路径
·在额外选项卡中重新排序训练预处理模块
·删除cleanup_models代码
·仅在更改时重写ui-config
·修复来自501993e的lint问题
·更新README.md
·高分辨率按钮,修复种子
·日志:为备用记录器正确设置格式化器
·从infotexts而不是json读取生成信息以满足内部需求(保存,从生成的图片中提取种子)
·改进get_crop_region
·将safetensors版本提升至0.4.2
·添加tooltip create_submit_box
·扩展选项卡表格行悬停高亮
·始终在显示的图像上添加时间戳
·添加core.filemode=false,以便不跟踪文件权限变化...
·标准化命令行参数路径
·在进度条中使用原始应用标题
·注册_tmp_file也用于mtime
好了,以上就是SD webUI1.8.0版本的更新内容。
项目地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui
XL修复模型下载地址:https://pan.baidu.com/s/1gdpvGcJWWc-b-WQFMQGA0g?pwd=7uv6
HelpKit AI是一款基于GPT模型的智能问答,它可以将Notion知识库转化为一个智能的、全天候的AI助手,提供准确即时的回答。