可复现性:种子与随机性 / 全站资源搜索
搜索 更新 2026-10-02
概念 不随版本变化

可复现性:种子与随机性

想复现就固定输入,想探索就只放开一个变量。

同一组参数跑两次结果不一样,不是程序出错,而是它本来就从随机数开始画。种子就是那个随机数的起点。

随机性从哪来

  • 初始噪声:出图从一张随机噪声开始,种子决定这张噪声长什么样
  • 随机种子模式:设成每次随机时,同一组参数每跑一次都不一样
  • 采样过程中的随机性:部分采样方式带有自己的随机环节,换采样方式会改变可复现的程度

想复现要固定什么

  • 种子:固定成同一个具体数值,而不是让它每次随机
  • 提示词原文:一个字不同就是不同输入,改标点也算改
  • 所有影响结果的参数:步数、引导强度、采样方式、调度方式、去噪强度、分辨率、批量
  • 模型与版本:同名模型在不同时间下载可能是不同文件;主程序与扩展版本也会影响结果

还有一条容易漏:精度版本。同一个模型的低位版本与高位版本算出来的结果可能不同,换版本等于换了输入。

想探索要放开什么

反过来,如果你想找更好的结果,就固定参数、只动种子,跑一批横向看。一次只动一个变量是所有调试的通用纪律。

常见误解
  • 把「复现」理解成「保证一模一样」
    换机器、换显卡、换版本之后,即使参数完全一致,结果也可能有细微差别。复现的目标是「可控地接近」,不是像素级相同。
  • 以为固定种子就万事大吉
    种子只是其中一个输入。提示词、参数、模型、精度版本任何一项变了,结果都会变。

相关条目