概念
不随版本变化
缓存与重跑:为什么改了参数却没变化
程序会记住算过的结果。改了东西不重跑,看到的还是上一次的图。
为了不重复计算,程序会记住已经算过的节点结果。这带来一个常见困惑:改了参数、点了运行,出来的还是上一张图。不是程序坏了,而是它认为那一步没必要重算。
为什么会有缓存
- 一整条工作流里有很多节点,其中不少与本次改动无关
- 只重算受影响的节点,能明显缩短等待时间
- 判断依据是「这个节点的输入有没有变」,既包括上游传来的数据,也包括它自己的参数
- 把节点改成不执行时,下游拿到的是旧结果而不是报错,这一点最容易被忽略
什么情况下必须重跑
- 改了提示词:必须重新编码,编码节点与其下游都要重算
- 改了种子、步数、引导强度:采样节点与其下游都要重算
- 换了模型文件或切换了 LoRA:加载节点与其下游都要重算
- 改了分辨率或批量:从输入端一路到解码都要重算
加载与卸载
模型的加载与卸载也有记忆:刚用过的模型往往还留在显存里,所以第二次跑明显更快;显存紧张时程序又会主动把它挪走,下一次跑就又要重新加载。这解释了两个现象:同一套参数连着跑两次,第二次快很多;跑到一半突然变慢,往往是刚发生了一次卸载与重载。
省时间但不省事的做法
常见误解
- 把「没变化」当成「参数无效」
先确认这一步真的重跑了。多数界面会把需要重跑的节点标出来,看到标记再判断参数有没有用。 - 整条工作流从头重跑一切
时间成本高,但排查问题时这是最可靠的起点。定位到问题节点之后,再局部重跑。
知仓学习社