本文档提供了 Stable Diffusion 仓库中所有可用命令行参数和选项的综合参考。它涵盖了文本到图像(txt2img.py)和图像到图像(img2img.py)脚本的参数,并解释了它们的用途、语法以及对生成过程的影响。
有关如何使用这些脚本生成图像的信息,请参阅 文本到图像生成 和 图像到图像修改。
Stable Diffusion 提供了两个主要的命令行界面:
txt2img.py - 从文本提示生成图像img2img.py - 根据文本提示修改现有图像这两个脚本共享许多通用参数,同时也有一些针对其特定功能的独特选项。
来源:README.md107-139 scripts/txt2img.py99-235
下图说明了命令行参数如何影响 Stable Diffusion 管道的各个组件。
来源:scripts/txt2img.py251-257 scripts/txt2img.py286-311
| 参数 | 默认 | 描述 |
|---|---|---|
--prompt | "a painting of a virus monster playing guitar" | 用于生成的文本提示 |
--outdir | "outputs/txt2img-samples" | 保存结果的目录 |
--from-file | None | 包含提示的文件的路径(每行一个) |
--skip_grid | 否 | 不保存所有生成图像的网格 |
--skip_save | 否 | 不保存单个图像(对基准测试有用) |
| 参数 | 默认 | 描述 |
|---|---|---|
--config | "configs/stable-diffusion/v1-inference.yaml" | 模型配置文件路径 |
--ckpt | "models/ldm/stable-diffusion-v1/model.ckpt" | 模型检查点路径 |
--laion400m | 否 | 使用 LAION-400M 模型而不是 Stable Diffusion |
--precision | "autocast" | 评估精度(full 或 autocast) |
| 参数 | 默认 | 描述 |
|---|---|---|
--ddim_steps | 50 | 去噪步数 |
--plms | 否 | 使用 PLMS 采样代替 DDIM |
--dpm_solver | 否 | 使用 DPM-Solver 采样 |
--ddim_eta | 0.0 | DDIM eta 参数(0.0 = 确定性) |
--fixed_code | 否 | 在所有样本中使用相同的起始噪声 |
--scale | 7.5 | 分类器自由引导尺度 |
--seed | 42 | 用于可复现结果的随机种子 |
来源:scripts/txt2img.py125-156 scripts/txt2img.py200-227
| 参数 | 默认 | 描述 |
|---|---|---|
--H | 512 | 图像高度(像素) |
--W | 512 | 图像宽度(像素) |
--C | 4 | 潜在通道数 |
--f | 8 | 下采样因子 |
| 参数 | 默认 | 描述 |
|---|---|---|
--n_iter | 2 | 采样迭代次数 |
--n_samples | 3 | 每个提示的样本数量(批次大小) |
--n_rows | 0 | 输出网格中的行数(默认值:n_samples) |
通用参考中的所有参数都适用于 txt2img.py 脚本。
img2img.py 脚本包含所有通用参数以及以下内容:
| 参数 | 默认 | 描述 |
|---|---|---|
--init-img | 必填 | 输入图像的路径 |
--strength | 0.8 | 噪声强度(0.0-1.0);值越高,变化越大,但与原始图像的相似度越低 |
某些参数协同工作或影响彼此的行为。
来源:scripts/txt2img.py251-257 scripts/txt2img.py267-278 scripts/txt2img.py284-286
此命令使用 PLMS 采样器和默认设置生成宇航员骑马的图像。
此命令将
此命令获取一张输入图像,并将其转换为奇幻风景,保留原始结构的 20%。
Stable Diffusion 提供了三种具有不同特性的采样方法:
| 采样器 | 标志 | 描述 |
|---|---|---|
| DDIM | 默认 | Denoising Diffusion Implicit Models - 基线采样器 |
| PLMS | --plms | Pseudo Linear Multistep - 通常在较少步骤下提供更好的质量 |
| DPM-Solver | --dpm_solver | Differential Probability Models Solver - 在相同质量下通常更快 |
来源:scripts/txt2img.py251-257 ldm/models/diffusion/ddim.py ldm/models/diffusion/plms.py ldm/models/diffusion/dpm_solver.py
可以通过以下方式控制生成过程:
--seed - 设置随机种子以实现可复现结果--fixed_code - 在所有样本中使用相同的初始噪声,使变化仅来自条件要自动处理多个提示,请:
--from-file 选项指定此文件。--n_samples 来控制每个提示要生成的图像数量。各种参数会影响性能:
| 参数 | 性能影响 |
|---|---|
--ddim_steps | 值越高 = 步数越多 = 质量越好,但生成速度越慢 |
--H / --W | 更大的尺寸需要更多的内存和处理时间 |
--n_samples | 更高的批次大小会使用更多的 GPU 内存,但效率可能更高 |
--precision | "full" 使用更多内存但可能更准确;"autocast" 更快 |
来源: scripts/txt2img.py125-130 scripts/txt2img.py163-174 scripts/txt2img.py229-234
Stable Diffusion 的命令行界面通过各种参数提供了对生成过程的广泛控制。本文档已涵盖
了解这些选项可以让用户根据自己的需求微调生成过程,以达到期望的结果,平衡质量、速度和多样性。