X/Y/Z 图是 Stable Diffusion Web UI 中的一个高级脚本,它通过生成具有受控变化的图像网格来实现系统化的参数探索。此强大功能允许用户比较不同参数值如何影响图像生成结果,这对于查找最佳设置和理解参数关系非常有价值。
X/Y/Z 图创建一个结构化的可视化,其中
此方法允许同时高效地试验多达三个不同的参数,显示它们对图像生成结果的组合影响。
来源: scripts/xyz_grid.py287-396
X/Y/Z 图脚本支持沿每个轴变化的各种参数
| 类别 | 参数 |
|---|---|
| 种子控制 | 种子,变体种子,变体强度 |
| 步数和采样 | 步数,采样器,CFG 尺度,调度器类型 |
| 模型控制 | 检查点名称,VAE,Clip skip |
| 提示词操作 | 提示词搜索/替换,提示词顺序 |
| 去噪参数 | 去噪强度,Sigma 值,Eta |
| 精炼 | 精炼检查点,精炼切换时间 |
| 尺寸和缩放 | 尺寸,放大器(高分辨率) |
| 附加功能 | 面部修复,Token 合成比例 |
来源: scripts/xyz_grid.py238-284
X/Y/Z 图作为脚本类实现,与主 Web UI 的脚本系统集成。以下是它如何与更大的系统连接:
来源: scripts/xyz_grid.py415-448 scripts/xyz_grid.py287-396
1, 2, 3, 41-10(1)(从 1 到 10,步长为 1)1-10[5](1 和 10 之间均匀分布的 5 个值)来源: scripts/xyz_grid.py419-457
| 格式类型 | 示例 | 结果 |
|---|---|---|
| 简单列表 | 1, 2, 3 | 三个值:1, 2, 3 |
| 带步长的范围 | 1-5(1) | 五个值:1, 2, 3, 4, 5 |
| 带计数的范围 | 1-10[5] | 五个值:1, 3.25, 5.5, 7.75, 10 |
| 检查点列表 | model1, model2 | 两个检查点模型 |
| 提示词搜索/替换 | cat, dog | 在提示词中将“cat”替换为“dog” |
来源: scripts/xyz_grid.py547-615
X/Y/Z 图系统遵循此过程来创建图像网格
来源: scripts/xyz_grid.py538-817 scripts/xyz_grid.py287-396
脚本使用灵活的系统来应用参数值
来源: scripts/xyz_grid.py30-197 scripts/xyz_grid.py707-728
系统根据参数“成本”(计算成本)优化处理顺序
例如,当变化检查点(高成本)、CFG 尺度(低成本)和步数(中等成本)时,系统将按此顺序处理
来源: scripts/xyz_grid.py683-703
设置一个网格来比较不同的采样器
采样器,值为 Euler a, DPM++ 2M, DPM++ SDE步数,值为 20, 30, 40CFG 尺度,值为 7, 10, 13这将创建一个可视化,显示不同采样器在不同步数和 CFG 尺度下的表现。
用于探索提示词中的变化
提示词搜索/替换,值为 cat, dog, birdCFG 尺度,值为 5-11(2)(5, 7, 9, 11)无(单个网格)此设置将提示词中的“cat”替换为每种动物,并显示不同 CFG 尺度下的结果。
用于比较不同模型和 VAE
检查点名称,值为不同模型的名称VAE,值为 Automatic, None, vae1步数,值为 20, 40这将创建多个网格,显示不同模型+VAE 组合在不同步数下的表现。
来源: scripts/xyz_grid.py238-284
The AxisOption 类是 X/Y/Z 图系统的基础,定义了参数如何被变化和应用
AxisOption(
label, # Display name
type, # Data type (int, float, str)
apply, # Function to apply value to processing
format_value, # How to format for display
confirm, # Validation function
cost, # Computational cost (for optimization)
choices, # Available choices function
prepare # Value preparation function
)
来源: scripts/xyz_grid.py214-223
网格中的每个单元格都经历以下步骤
来源: scripts/xyz_grid.py707-728
最终输出包括
系统会自动处理网格边距、注解以及子网格到最终输出的组装。
来源: scripts/xyz_grid.py287-396
脚本支持用于指定参数范围的高级语法
1-10(2)(1, 3, 5, 7, 9)0.1-0.5(0.1)(0.1, 0.2, 0.3, 0.4, 0.5)1-100[5](均匀分成 5 个值)提示词顺序,它会生成提供的所有值的排列来源: scripts/xyz_grid.py408-413 scripts/xyz_grid.py560-605
该脚本提供对种子进行精细控制
种子保留 -1:保持 -1 种子值(每次生成随机)为 X/Y/Z 变化种子:沿特定轴改变种子这些选项允许在一致性和多样性之间进行平衡。
来源: scripts/xyz_grid.py642-646 scripts/xyz_grid.py719-725
系统分析参数成本以优化处理顺序,这对于以下情况尤为重要
这种优化可以大大减少包含昂贵参数的网格的生成时间。
来源: scripts/xyz_grid.py683-703
X/Y/Z 图表系统是一个强大的工具,可通过系统化可视化来探索 Stable Diffusion 参数。它允许您
其灵活的实现支持广泛的参数和值格式,使其成为系统化图像生成实验最通用的工具之一。