换模型后画面全变,先别急着归因到新模型风格不同。ArtCraft 这类图像生成工作流里,换模型实际涉及两个可独立变化的变量:模型文件本身(权重、VAE、文本编码器、训练分辨率偏好)和加载配置(模型路径、权重挂载节点、采样参数、关联资源)。画面全变既可能是新模型本来的输出分布,也可能是加载环节仍指向旧权重、缓存没清、参数被预设覆盖。判断动作建议按“列配置项 → 旧模型对照 → 新模型原配置 → 逐项改配置 → 记录区间”逐步替换,每一步只动一个变量。
适用场景:换 checkpoint 或模型后风格、细节、尺寸同时变化,分不清是新模型特性还是配置未切。操作动作:先列全模型路径、权重挂载位置、配套参数、关联资源并标记是否更新,再用旧模型加当前配置跑对照,最后用新模型加原配置观察边界。验证方式:固定 prompt 与 seed 重跑,对比构图、色调、细节和是否报错。风险边界:对照只能判断差异是否随模型走,不能直接代表模型质量;若出现报错或全黑,优先怀疑权重未挂载或格式不匹配。
把换模型涉及的配置项全部列出来并逐项标记是否已更新
这一步的目标是先排除模型换了、配置没换。建议在 ArtCraft 工作流配置文件或界面里把下列四处逐个找出来,每找一处就在记录里标已更新、未更新或不确定。
- 模型路径:主 checkpoint、UNet 或底模的文件路径、文件名、版本标识;注意同目录下是否有同名不同版本的权重。
- 权重挂载位置:加载器节点(如 Checkpoint Loader、UNet Loader)、模型管理器条目、配置文件里的 model 字段;确认加载器实际读的是新文件,而不是旧文件的软链或缓存副本。
- 配套参数:采样器、调度器、步数、CFG 或引导强度、分辨率或长宽比、seed、denoise 强度、clip skip。
- 关联资源:VAE、文本编码器或 CLIP、LoRA、ControlNet、Refiner、embedding、风格预设、后处理节点。
标记时不要只改主模型路径。VAE 或文本编码器仍挂旧资源时,色调、对比和语义跟随都会变。建议把未更新的项单独列出来,后面按第 4 节逐项回填。
用旧模型加当前配置跑一次作为对照
对照实验要固定 prompt、seed、分辨率、采样器、步数,只把主模型换回旧模型,其余保持当前配置。目的不是证明旧模型更好,而是看画面变化是否跟着模型走。
# 对照运行记录(通用骨架,字段按实际 ArtCraft 版本替换)
run_id: baseline_old_model
model_path: /models/old_checkpoint.safetensors
vae: 与改动前一致
prompt: 固定同一条
negative_prompt: 固定同一条
seed: 固定值
steps: 固定值
cfg: 固定值
resolution: 固定宽高
sampler: 固定名称
output: 保存路径
把旧模型输出与改动前输出放在一起比:构图是否一致、色调是否回到旧风格、细节纹理是否接近、尺寸比例是否相同。如果旧模型输出与改动前基本一致,说明变化随模型走,加载配置不是主因;如果旧模型输出也变了,说明配置或关联资源被改过,需要回到第 1 节继续查。
用新模型加原配置跑一次
接着换回新模型,但保留原配置,也就是改动前那套参数,不是第 2 节里可能已经调整过的参数。这一步是看新模型在旧参数下的表现边界。
记录输出差异点:风格、色调、细节密度、尺寸、文字或人脸或结构是否崩。是否出现报错或明显劣化:加载失败、张量形状不匹配、全黑或全灰、网格状伪影、过曝、色偏、糊、闪烁、显存不足。如果新模型在旧参数下就报错,优先检查权重格式、精度(fp16、bf16、fp32)和文本编码器是否匹配。
# 通用排查动作:看加载日志里实际读到的路径与 dtype
# 在 ArtCraft 启动日志或控制台里搜索:
# loading model / checkpoint / unet
# dtype
# vae
# 确认打印出的路径是你以为的新模型路径
逐项把配置改到与新模型匹配后再跑
现在逐项把配置改到与新模型匹配。每次只改一项,跑一张固定 seed 的图,记录改了哪一项、输出怎么变。不要一次改路径、VAE、CFG、分辨率,否则最后分不清哪项在起作用。
# 逐项变更记录(通用骨架)
change_01:
item: 模型路径
from: old_checkpoint
to: new_checkpoint
other_params: 保持不变
output_obs: 风格 / 构图 / 色调 / 报错 记录一句
change_02:
item: VAE
from: old_vae
to: new_vae 或内置
other_params: 保持不变
output_obs: ...
change_03:
item: 采样器 / 步数 / CFG
...
判断哪一项在起作用,主要看两点:改动后输出是否出现与第 3 节不同的新变化;是否把报错或明显劣化消掉。如果改某一项后画面回到可接受范围,就把该项记为新模型的必需配套项。若改完所有项仍与预期不符,需要回头确认模型文件是否完整、是否下载了错误的变体。
写下新模型的可用参数区间与加载配置示例
最后把新模型的可用参数区间和加载配置示例写下来,作为下次换模型的检查模板。
# ArtCraft 通用加载配置骨架(字段名按实际版本替换)
model:
checkpoint_path: '<新模型路径>'
weight_dtype: '<fp16|bf16|fp32,按硬件与模型说明选>'
vae_path: '<新模型配套 VAE 或 auto>'
text_encoder: '<配套 CLIP 或文本编码器或默认>'
sampling:
sampler: '<采样器名>'
scheduler: '<调度器名>'
steps: '<区间下限-上限,逐档试>'
cfg_scale: '<区间下限-上限>'
resolution: '<宽x高,按模型训练分辨率附近试>'
seed: '固定值用于对比'
associated:
lora: '<如需,路径与权重>'
controlnet: '<如需,模型与权重>'
refiner: '<如需,开关与切换步数>'
参数区间记录方法:对步数、CFG、分辨率各取几档,固定其他项,记录每档是否出现糊、过曝、结构崩或报错。不要只记一个最好参数,记下可用下限到可用上限,以及超出后出现的具体现象。
验证方式:用同一组加载配置和固定 seed 重跑两到三次,观察结果是否稳定落在同一范围。若每次输出差异很大,先检查 seed 是否被随机化、LoRA 或 ControlNet 是否随机启用、缓存是否清掉。稳定后再把这套配置写进模板,下次换模型时从第 1 节清单开始逐项核对。