stable-diffusion命令行参数大全:高级用户必备参考
Stable Diffusion作为一款强大的潜在文本到图像扩散模型(Latent Text-to-Image Diffusion Model),其命令行工具提供了丰富的参数选项,让高级用户能够精确控制图像生成过程。本文将系统梳理txt2img、img2img、inpaint等核心功能的命令行参数,帮助用户充分发挥模型潜力。
一、基础参数:所有功能通用配置
1.1 模型与配置
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --config | str | configs/stable-diffusion/v1-inference.yaml | 模型配置文件路径,定义模型结构和超参数 |
| --ckpt | str | models/ldm/stable-diffusion-v1/model.ckpt | 模型权重文件路径,包含训练好的神经网络参数 |
| --precision | str | autocast | 计算精度模式,可选"full"(全精度)或"autocast"(自动混合精度) |
配置文件和权重文件是运行Stable Diffusion的基础,不同任务可能需要特定的配置。例如,检索增强扩散任务需使用configs/retrieval-augmented-diffusion/768x768.yaml配置。
1.2 输出控制
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --outdir | str | outputs/txt2img-samples | 输出目录路径,生成的图像将保存在此文件夹 |
| --skip_grid | bool | False | 若为True,不生成网格图像,仅保存单个样本 |
| --skip_save | bool | False | 若为True,不保存图像文件,用于速度测试 |
生成的图像默认会按序号命名保存,如00000.png,网格图像则命名为grid-0000.png。典型的输出目录结构如下:
outputs/txt2img-samples/
├── grid-0000.png
└── samples/
├── 00000.png
├── 00001.png
└── ...
1.3 随机种子
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --seed | int | 42 | 随机数种子,用于确保生成结果可复现 |
种子值对生成结果有显著影响。相同的种子和参数将产生相同的图像,这对于调试和对比实验非常重要。例如:
python scripts/txt2img.py --seed 1234 --prompt "a red cat"
二、文本到图像(txt2img)专用参数
2.1 核心生成参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --prompt | str | "a painting of a virus monster playing guitar" | 文本提示词,描述期望生成的图像内容 |
| --n_samples | int | 3 | 每次运行生成的样本数量(批大小) |
| --n_iter | int | 2 | 采样迭代次数,总样本数 = n_samples × n_iter |
| --scale | float | 7.5 | 无条件引导尺度,控制文本与图像的匹配程度,值越大匹配度越高 |
提示词(Prompt)是控制图像生成的关键,支持复杂描述。例如:
--prompt "a photo of an astronaut riding a horse on mars, cinematic lighting, 8k"
2.2 图像尺寸与采样
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --H | int | 512 | 生成图像的高度(像素) |
| --W | int | 512 | 生成图像的宽度(像素) |
| --C | int | 4 | 潜在空间通道数 |
| --f | int | 8 | 下采样因子,潜在空间尺寸 = 像素尺寸 / f |
Stable Diffusion的默认生成尺寸为512x512像素,这是在生成质量和计算效率之间的平衡选择。调整H和W时,建议保持比例为1:1,且为32的倍数。
2.3 采样方法与步数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --ddim_steps | int | 50 | DDIM采样步数,步数越多图像质量越高但速度越慢 |
| --ddim_eta | float | 0.0 | DDIM采样噪声参数,0.0为确定性采样,>0引入随机性 |
| --plms | bool | False | 是否使用PLMS采样器,一种高效的采样方法 |
| --dpm_solver | bool | False | 是否使用DPM Solver采样器,速度快且质量高 |
不同采样器各有特点:DDIM兼容性好,PLMS无需预计算方差,DPM Solver速度最快。典型的采样参数组合:
# 使用DPM Solver采样器,20步快速生成
python scripts/txt2img.py --dpm_solver --ddim_steps 20 --prompt "a beautiful landscape"
三、图像到图像(img2img)专用参数
3.1 输入与强度控制
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --init-img | str | None | 初始图像路径,作为生成的基础 |
| --strength | float | 0.75 | 噪声强度,控制初始图像的保留程度,0.0完全保留原图,1.0完全生成新图 |
强度参数是img2img的核心,决定了生成结果与原图的相似度。例如,使用assets/sketch-mountains-input.jpg作为初始图像:
# 低强度:保留更多草图特征
python scripts/img2img.py --init-img assets/sketch-mountains-input.jpg --strength 0.3 --prompt "a photorealistic mountain landscape"
3.2 尺寸与采样
img2img继承了txt2img的大部分采样参数(如--ddim_steps、--scale等),但初始图像会自动调整为32的倍数尺寸。无需手动指定--H和--W,除非需要强制调整输出大小。
四、图像修复(inpaint)专用参数
4.1 输入与输出路径
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --indir | str | None | 输入目录,包含图像和掩码文件对(如example.png和example_mask.png) |
| --outdir | str | None | 输出目录,修复后的图像将保存在此 |
| --steps | int | 50 | 采样步数 |
图像修复需要成对的输入图像和掩码图像,掩码中白色区域(255)表示需要修复的部分。例如,使用data/inpainting_examples目录中的示例:
python scripts/inpaint.py --indir data/inpainting_examples --outdir outputs/inpaint-results --steps 100
五、检索增强扩散(knn2img)专用参数
5.1 数据库与检索
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --database | str | artbench-surrealism | 检索数据库,可选艺术风格或开放图像数据集 |
| --use_neighbors | bool | False | 是否启用邻居检索增强 |
| --knn | int | 10 | 检索邻居数量,控制参考图像的影响程度 |
检索增强扩散通过参考数据库中的图像片段来生成更符合特定风格的结果。支持的数据库包括多种艺术风格,如印象派(artbench-impressionism)、文艺复兴(artbench-renaissance)等。
六、高级技巧与最佳实践
6.1 参数组合示例
高质量文本生成
python scripts/txt2img.py \
--prompt "a professional photograph of an astronaut riding a horse in space, 8k, highly detailed, cinematic lighting" \
--plms \
--ddim_steps 100 \
--scale 10.0 \
--n_samples 4 \
--H 768 --W 768 \
--seed 12345
风格迁移
python scripts/img2img.py \
--init-img assets/birdhouse.png \
--prompt "a birdhouse designed by gaudi, surrealist architecture, colorful, intricate details" \
--strength 0.6 \
--ddim_steps 75 \
--scale 8.0
6.2 参数调优建议
- 尺度(--scale):推荐范围5-15,值越大文本一致性越好,但可能导致图像过度饱和。
- 步数(--ddim_steps):日常使用20-50步即可,追求极致质量可增加到100步。
- 种子(--seed):固定种子后微调提示词,可生成系列化图像。
- 强度(--strength):草图转写实推荐0.4-0.6,风格迁移推荐0.6-0.8。
通过灵活组合这些参数,高级用户可以精确控制Stable Diffusion的生成过程,实现从创意到图像的精准转化。所有命令行工具的源代码可在scripts目录中查看,用户可根据需求进行二次开发。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






