缓存与重跑:为什么改了参数却没变化 / 全站资源搜索
搜索 更新 2026-10-02
概念 不随版本变化

缓存与重跑:为什么改了参数却没变化

程序会记住算过的结果。改了东西不重跑,看到的还是上一次的图。

为了不重复计算,程序会记住已经算过的节点结果。这带来一个常见困惑:改了参数、点了运行,出来的还是上一张图。不是程序坏了,而是它认为那一步没必要重算。

为什么会有缓存

  • 一整条工作流里有很多节点,其中不少与本次改动无关
  • 只重算受影响的节点,能明显缩短等待时间
  • 判断依据是「这个节点的输入有没有变」,既包括上游传来的数据,也包括它自己的参数
  • 把节点改成不执行时,下游拿到的是旧结果而不是报错,这一点最容易被忽略

什么情况下必须重跑

  • 改了提示词:必须重新编码,编码节点与其下游都要重算
  • 改了种子、步数、引导强度:采样节点与其下游都要重算
  • 换了模型文件或切换了 LoRA:加载节点与其下游都要重算
  • 改了分辨率或批量:从输入端一路到解码都要重算

加载与卸载

模型的加载与卸载也有记忆:刚用过的模型往往还留在显存里,所以第二次跑明显更快;显存紧张时程序又会主动把它挪走,下一次跑就又要重新加载。这解释了两个现象:同一套参数连着跑两次,第二次快很多;跑到一半突然变慢,往往是刚发生了一次卸载与重载。

省时间但不省事的做法

常见误解
  • 把「没变化」当成「参数无效」
    先确认这一步真的重跑了。多数界面会把需要重跑的节点标出来,看到标记再判断参数有没有用。
  • 整条工作流从头重跑一切
    时间成本高,但排查问题时这是最可靠的起点。定位到问题节点之后,再局部重跑。

相关条目