AI 绘图参数怎么调?固定种子比较采样步数与引导强度

固定 SD 1.5 的模型、提示词和种子,对照采样步数与文本引导强度,保存四组配置,按结构和副作用选择参数。

调 AI 绘图参数时,先固定模型、提示词、尺寸与随机种子,再分别比较采样步数和引导强度。否则一张图同时换了多个条件,就很难知道变化来自哪里。下面用 Diffusers 与 SD 1.5 生成四种配置,并保存参数记录,帮助你做可追溯的选择。

本文适合会运行 Python、希望了解参数影响的读者。依据 2026 年 10 月 1 日核对的 Diffusers 0.35.1 文档和源码编写,未下载模型生成图,没有测速度或画质。15/30 步与 4/7 引导强度是教学对照,不代表推荐排行榜。

AI 绘图参数怎么调?固定种子比较采样步数与引导强度

两个参数分别控制什么

参数 作用 不应当作什么
num_inference_steps 采样过程的去噪步数,更多步通常增加计算 不等于画质必然按比例提升
guidance_scale 在本例 SD 1.5 中调整文本引导影响 不等于图生图的重绘强度,也不保证越高越符合全部条件

SD 管线源码说明步数与推理计算有关,引导值较高会强化提示词影响,也可能损害图像质量。不同模型和采样器的参数语义与适合范围可能不同,本页不把这组数值推广到 FLUX、SDXL 或其他管线。

固定种子时要重新创建 Generator

官方种子指南说明,Generator 对象包含会推进的随机状态。因此每次比较都重新用同一个种子创建 Generator;不要只在循环外 manual_seed 一次,然后把同一个对象反复传进去。

相同种子有助于控制实验条件,但不能保证跨硬件、PyTorch 版本或 Diffusers 版本的图像逐像素相同。保留完整配置与生成图片,才便于追溯;只记“种子 42”不够。

安装环境,运行四种配置

按 PyTorch 安装页配置与你系统和驱动匹配的 CUDA 版本。使用同一个 Python 环境执行检查,可用性必须为 True,再装依赖。本文的 float16 加 CPU offload 方案仍需 CUDA GPU,不提供纯 CPU 或固定显存运行保证。

python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
python -m pip install diffusers==0.35.1 transformers==4.56.2 accelerate==1.10.1 safetensors pillow

保存下列代码为 compare_params.py,运行 python compare_params.py。先用一个主体简单的提示词,不在第一轮同时加入人群、密集文字和复杂动作。首次需下载底模;使用条件见 SD 1.5 模型卡。

from pathlib import Path
import json
import platform
import torch
import diffusers
from diffusers import AutoPipelineForText2Image

model_id = "stable-diffusion-v1-5/stable-diffusion-v1-5"
pipe = AutoPipelineForText2Image.from_pretrained(
    model_id, torch_dtype=torch.float16,
    variant="fp16", use_safetensors=True,
)
pipe.enable_model_cpu_offload()
prompt = "a white ceramic cup beside a green leaf, studio photograph, plain background"
out = Path("parameter_comparison")
out.mkdir(exist_ok=True)
records = []
for steps, guidance in ((15, 4.0), (30, 4.0), (15, 7.0), (30, 7.0)):
    image = pipe(
        prompt=prompt, height=512, width=512,
        num_inference_steps=steps, guidance_scale=guidance,
        generator=torch.Generator(device="cpu").manual_seed(42),
    ).images[0]
    name = f"steps{steps}_cfg{guidance:.1f}.png"
    image.save(out / name)
    records.append({"output": name, "model": model_id, "prompt": prompt,
                    "seed": 42, "steps": steps, "guidance_scale": guidance,
                    "height": 512, "width": 512,
                    "scheduler": type(pipe.scheduler).__name__,
                    "diffusers": diffusers.__version__, "torch": torch.__version__,
                    "python": platform.python_version()})
(out / "settings.json").write_text(
    json.dumps(records, ensure_ascii=False, indent=2), encoding="utf-8",
)

代码没有计时,因此不能据此声称某一档快了多少。四张图使用加载时的同一个采样器配置;如果以后更换采样器,要另建一组实验并记录,不能混进当前结论。

按配对比较,区分步数与引导效果

运行后检查 parameter_comparison 中四张 PNG 与 settings.json。比较 steps15_cfg4.0 与 steps30_cfg4.0,观察只增加步数的变化;比较 steps15_cfg4.0 与 steps15_cfg7.0,观察只增加引导的变化。再用另一组相同条件的配对核对,避免只挑最漂亮的一张。

看什么 本例检查方法
主体与数量 是一只杯子和一片叶子,还是多出了物体
结构 杯口闭合、杯身合理,叶片边缘没有断裂
提示词 杯子是否白色、叶子是否绿色、背景是否简洁
副作用 高引导是否出现过饱和、明显轮廓伪影或材质失真

若 30 步只比 15 步多了无意义细节,而关键结构没有更好,就没有理由仅因数值更大选择它。若 7.0 颜色更接近提示,却导致杯子轮廓变形,也不能把“更听话”当作唯一标准。

下一轮怎样验证选择

先选一个满足任务的候选配置,再保持所有参数不变,换一个新的固定种子重复四种配对;至少检查偏好是否只来自那一个随机样本。这仍是视觉实验,不是正式模型性能基准。要比较速度,应另做同设备、同版本、同输入条件的计时,并明确冷启动与权重加载是否计入。

文字、复杂手部和人物结构错误不一定能靠提高步数解决。先简化任务,检查模型能力和提示词;需要精确区域编辑时考虑局部重绘,需要沿用轮廓时考虑 ControlNet。不同任务使用相应控制方式,比把所有问题都归因于“步数不够”有效。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31966.html

赞 (0)
AI小管家的头像AI小管家
AI 怎么生成 SVG 图标?在 Illustrator 生成矢量并核对导出路径
上一篇 2小时前
LM Studio 怎么本地部署 DeepSeek 并提供 API?下载模型、启动服务与请求验证
下一篇 2小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部