Stable Diffusion 网页用户界面
一个定制的、高度适应性的 Stable Diffusion 用户界面,利用强大的 Gradio 库。这个尖端的浏览器界面为用户提供了无与伦比的定制和优化水平,使其与其他网页界面截然不同。
优化
- 在 DOM 中替换所有默认的 Gradio 样式表,使用优化版本以促进组件间更好的视觉一致性。
- 从 DOM 中消除内联样式和 Svelte 类,以减少混乱并提高效率。
- 从 DOM 中移除不必要的"img2img 额外网络",以减少重复的图像和事件监听器。
- 消除"txt2img 额外网络"卡片和操作按钮的内联事件监听器。
- 应用事件委托模式,通过整合"txt2img 额外网络"卡片和操作按钮的事件处理,进一步简化代码。
webui-ux 功能
- 可由其他扩展利用的多功能微模板引擎
- 通过用户友好的配置界面自定义主题样式
- 内置控制台日志
- 忽略覆盖的选项
- 支持输入范围滑块上的刻度标记,提高可用性
- 能够在滑块和数字输入模式之间切换,允许用户手动输入值而不显示滑块
工作区 UI-UX(开发中)
工作区扩展使您能够创建自定义视图并根据您的独特偏好组织它们。通过直观的拖放界面,您可以设计完全适合您特定需求的工作流程,让您对工作环境拥有最终控制权。
无限图像浏览集成
与无限图像浏览扩展无缝集成。
待办事项
- 改进移动设备支持
- 全屏画廊支持
功能
- 原始 txt2img 和 img2img 模式
- 一键安装和运行脚本(但您仍需安装 Python 和 Git)
- 外部绘制
- 内部绘制
- 彩色草图
- 提示矩阵
- Stable Diffusion 放大
- 注意力,指定模型应更加关注的文本部分
- 穿着
((燕尾服))
的男人 - 将更加关注燕尾服 - 穿着
(燕尾服:1.21)
的男人 - 替代语法 - 选择文本并按
Ctrl+Up
或Ctrl+Down
(MacOS 上为Command+Up
或Command+Down
)自动调整所选文本的注意力(由匿名用户贡献的代码)
- 穿着
- 循环回调,多次运行 img2img 处理
- X/Y/Z 图,一种用不同参数绘制三维图像的方法
- 文本反转
- 可以拥有任意数量的嵌入并为它们使用任何您喜欢的名称
- 使用每个标记具有不同向量数的多个嵌入
- 适用于半精度浮点数
- 在 8GB 上训练嵌入(也有 6GB 可用的报告)
- 额外选项卡,包括:
- GFPGAN,修复面部的神经网络
- CodeFormer,作为 GFPGAN 替代方案的面部修复工具
- RealESRGAN,神经网络放大器
- ESRGAN,具有大量第三方模型的神经网络放大器
- SwinIR 和 Swin2SR(见此处),神经网络放大器
- LDSR,潜在扩散超分辨率放大
- 调整宽高比选项
- 采样方法选择
- 调整采样器 eta 值(噪声乘数)
- 更高级的噪声设置选项
- 随时中断处理
- 4GB 显卡支持(也有 2GB 可用的报告)
- 批量处理的正确种子
- 实时提示标记长度验证
- 生成参数
- 用于生成图像的参数与图像一起保存
- 对于 PNG,保存在 PNG 块中;对于 JPEG,保存在 EXIF 中
- 可以将图像拖到 PNG 信息选项卡以恢复生成参数并自动将它们复制到界面中
- 可以在设置中禁用
- 将图像/文本参数拖放到提示框
- 读取生成参数按钮,将提示框中的参数加载到界面
- 设置页面
- 从界面运行任意 Python 代码(必须使用
--allow-code
运行以启用) - 大多数界面元素的鼠标悬停提示
- 可以通过文本配置更改界面元素的默认值/混合值/最大值/步长值
- 平铺支持,一个复选框用于创建可以像纹理一样平铺的图像
- 进度条和实时图像生成预览
- 可以使用单独的神经网络生成预览,几乎不需要 VRAM 或计算资源
- 负面提示,一个额外的文本字段,允许您列出您不想在生成的图像中看到的内容
- 样式,一种保存部分提示并稍后通过下拉菜单轻松应用它们的方法
- 变体,一种生成相同图像但有细微差异的方法
- 种子调整大小,一种生成相同图像但分辨率略有不同的方法
- CLIP 询问器,一个尝试从图像猜测提示的按钮
- 提示编辑,一种在生成过程中更改提示的方法,例如开始制作西瓜然后中途切换到动漫女孩
- 批量处理,使用 img2img 处理一组文件
- Img2img 替代方法,交叉注意力控制的反向欧拉方法
- 高分辨率修复,一个方便的选项,可以一键生成高分辨率图片,而不会出现常见的失真
- 即时重新加载检查点
- 检查点合并器,一个允许您将最多 3 个检查点合并为一个的选项卡
- 自定义脚本,包含来自社区的许多扩展
- 可组合扩散,一种同时使用多个提示的方法
- 使用大写
AND
分隔提示 - 还支持提示权重:
猫 :1.2 AND 狗 AND 企鹅 :2.2
- 使用大写
- 提示无标记限制(原始 stable diffusion 最多允许使用 75 个标记)
- DeepDanbooru 集成,为动漫提示创建 danbooru 风格的标签
- xformers,特定显卡的主要速度提升:(在命令行参数中添加
--xformers
) - 通过扩展:历史选项卡:在界面内方便地查看、引导和删除图像
- 永久生成选项
- 训练选项卡
- 超网络和嵌入选项
- 预处理图像:裁剪、镜像、使用 BLIP 或 deepdanbooru(用于动漫)自动标记
- Clip 跳过
- 超网络
- Loras(与超网络相同但更漂亮)
- 一个单独的界面,您可以在其中选择要添加到提示中的嵌入、超网络或 Loras,并带有预览
- 可以从设置屏幕选择加载不同的 VAE
- 进度条中的估计完成时间
- API
- 支持 RunwayML 的专用修复模型
- 通过扩展:美学渐变,一种使用 clip 图像嵌入生成具有特定美学的图像的方法(https://github.com/vicgalle/stable-diffusion-aesthetic-gradients 的实现)
- Stable Diffusion 2.0 支持 - 请参阅 wiki 获取说明
- Alt-Diffusion 支持 - 请参阅 wiki 获取说明
- 现在没有任何不好的字母!
- 以 safetensors 格式加载检查点
- 放宽分辨率限制:生成图像的尺寸必须是 8 的倍数,而不是 64
- 现在有许可证了!
- 从设置屏幕重新排序界面元素
安装和运行
确保满足所需的依赖项,并按照以下说明操作:
- NVidia(推荐)
- AMD GPU
- Intel CPU、Intel GPU(集成和独立)(外部 wiki 页面)
或者,使用在线服务(如 Google Colab):
Windows 自动安装
- 安装 Python 3.10.6(更新版本的 Python 不支持 torch),勾选"添加 Python 到 PATH"。
- 安装 git。
- 下载 stable-diffusion-webui 仓库,例如运行
git clone https://github.com/anapnoe/stable-diffusion-webui-ux.git
。 - 以普通非管理员用户身份从 Windows 资源管理器运行
webui-user.bat
。
Linux 自动安装
- 安装依赖:
# 基于 Debian:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
# 基于 Red Hat:
sudo dnf install wget git python3
# 基于 Arch:
sudo pacman -S wget git python3
- 导航到您想安装 webui 的目录并执行以下命令:
wget -q https://raw.githubusercontent.com/anapnoe/stable-diffusion-webui-ux/master/webui.sh
- 运行
webui.sh
。 - 查看
webui-user.sh
获取选项。
Apple Silicon 安装
请在此处查找说明。
贡献
以下是向此仓库添加代码的方法:贡献
文档
文档已从此 README 移至项目的 wiki。
为了让 Google 和其他搜索引擎爬取 wiki,这里提供了一个(非人类阅读用)可爬取的 wiki 链接。
致谢
借用代码的许可证可以在 设置 -> 许可证
界面以及 html/licenses.html
文件中找到。
- Stable Diffusion - https://github.com/CompVis/stable-diffusion, https://github.com/CompVis/taming-transformers
- k-diffusion - https://github.com/crowsonkb/k-diffusion.git
- Spandrel - https://github.com/chaiNNer-org/spandrel 实现
- GFPGAN - https://github.com/TencentARC/GFPGAN.git
- CodeFormer - https://github.com/sczhou/CodeFormer
- ESRGAN - https://github.com/xinntao/ESRGAN
- SwinIR - https://github.com/JingyunLiang/SwinIR
- Swin2SR - https://github.com/mv-lab/swin2sr
- LDSR - https://github.com/Hafiidz/latent-diffusion
- MiDaS - https://github.com/isl-org/MiDaS
- 优化想法 - https://github.com/basujindal/stable-diffusion
- 交叉注意力层优化 - Doggettx - https://github.com/Doggettx/stable-diffusion,提示词编辑的原始想法。
- 交叉注意力层优化 - InvokeAI, lstein - https://github.com/invoke-ai/InvokeAI(原为 http://github.com/lstein/stable-diffusion)
- 亚二次方交叉注意力层优化 - Alex Birch (https://github.com/Birch-san/diffusers/pull/1), Amin Rezaei (https://github.com/AminRezaei0x443/memory-efficient-attention)
- 文本反演 - Rinon Gal - https://github.com/rinongal/textual_inversion(我们没有使用他的代码,但我们使用了他的想法)。
- SD 放大的想法 - https://github.com/jquesnelle/txt2imghd
- 外部绘制 mk2 的噪声生成 - https://github.com/parlance-zz/g-diffuser-bot
- CLIP 询问器的想法和借用一些代码 - https://github.com/pharmapsychotic/clip-interrogator
- 可组合扩散的想法 - https://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch
- xformers - https://github.com/facebookresearch/xformers
- DeepDanbooru - 动漫扩散器的询问器 https://github.com/KichangKim/DeepDanbooru
- 从 float16 UNet 进行 float32 精度采样 - marunine 提供想法,Birch-san 提供 Diffusers 实现示例 (https://github.com/Birch-san/diffusers-play/tree/92feee6)
- Instruct pix2pix - Tim Brooks (star), Aleksander Holynski (star), Alexei A. Efros (no star) - https://github.com/timothybrooks/instruct-pix2pix
- 安全建议 - RyotaK
- UniPC 采样器 - Wenliang Zhao - https://github.com/wl-zhao/UniPC
- TAESD - Ollin Boer Bohan - https://github.com/madebyollin/taesd
- LyCORIS - KohakuBlueleaf
- 重启采样 - lambertae - https://github.com/Newbeeer/diffusion_restart_sampling
- 初始 Gradio 脚本 - 由 4chan 上的匿名用户发布。感谢匿名用户。
- (您)