概念
这一类内容不随版本变化,所以不会过期。 先把原理弄清楚,遇到具体问题时判断会快很多。
一、ComfyUI 怎么工作
从一堆模型文件到一张图,中间到底发生了什么
节点与连线:执行顺序由什么决定
为什么挪动节点不影响结果,改一根连线才会。弄懂这条,报错时才知道该往哪看。
模型文件认路:checkpoints、loras 与 vae 各是什么
同样后缀的文件放进不同目录,作用完全不同。认清这几类主力文件,就不会再放错地方。
文本编码器:提示词是怎么变成条件的
模型看不懂文字。提示词先进编码器变成一串数字,再去参与每一步计算。
采样与步数:一次生成里到底在算几遍
步数不是「精细度滑块」。它决定算几遍,每遍怎么算则取决于采样方式与调度方式。
潜空间:模型其实不在像素上画
生成发生在压缩过的表示上,最后才解码成图。这解释了几件常见怪事。
可复现性:种子与随机性
想复现就固定输入,想探索就只放开一个变量。
种子与变化:怎么系统地找出好结果
固定参数只动种子,是唯一能判断「这个方向行不行」的做法。
LoRA 与适配器:不换主模型就改风格
主模型不动,挂一层很小的权重上去。这就是 LoRA 的全部意思。
二、出图与输入
尺寸、采样、结构控制、遮罩、放大,以及音频与视频这些非图像输出
分辨率与总像素:显存为什么涨得比边长快
真正决定显存与耗时的是宽乘高。看懂这一条,就不会再靠猜来定尺寸。
图生图与去噪强度:从「几乎没变」到「完全变了」
这一个值决定保留多少原图。它不是线性混合,所以会出现跳变。
局部重绘与遮罩:只改你想改的地方
在图上圈一块区域重画。理解遮罩与去噪强度的配合,才不会画完发现整张图都变了。
结构控制:让结果听原图的安排
用一张「提示图」约束构图、姿态或线条,而不是只靠文字描述。
放大流程:从小图到大图
直接生成大图又慢又容易崩。主流做法是先定构图、再放大补细节。
提示词的层次:同样几个词,为什么效果不同
提示词不是一串越写越好的词,而是有结构和先后的输入。
提示词增强与反推:让工具帮你写
一类工具把短句扩写成长提示词,另一类看图反推出提示词。两者能省事,也都会引入偏差。
视频生成:帧序列比单张图难在哪
多了一个时间维度:帧与帧之间要连贯,显存和时长都要按帧数算。
音频与音乐生成:另一类非图像输出
同样的工作流范式,换成声音:输入是文字或音频,输出是波形。
特征提取:深度、边缘、姿态与分割
这些是把「一张图」变成「结构提示」的中间产物。搞懂它们的输入输出,才拼得对。
三、环境与故障
装不上、跑不动、报错看不懂时,先弄明白这几件事
显存与性能:什么决定你能跑多大
占用由几样东西叠加而成,不是取最大值。弄清这点,调参才有方向。
内存与显存:两块东西各装什么
报错说 out of memory 时,先搞清楚是哪一块不够。处理办法完全不同。
批量与队列:花显存的做法与不花显存的做法
同样是一次跑多张,批量吃显存、队列不吃。混着用就得排查两遍。
模型精度:同一个模型的几个文件,差在哪
文件名后缀不同、体积差一倍,区别在数值精度,不在模型本身。
GGUF 与量化:省显存的那条路
把权重用更少的位数存起来。文件更小、占用更低,代价在细节。
启动与日志:报错先看哪一行
启动日志是排查的入口。会看它,能省掉大半试错。
依赖冲突:两个包都要同一个库
装完一个节点包,另一个坏了。这多半是依赖版本被互相覆盖了。
网络与镜像:装不上、下不动时怎么办
节点装不上、模型下不来,多数时候不是程序的问题,而是网络到不了那些站点。
缓存与重跑:为什么改了参数却没变化
程序会记住算过的结果。改了东西不重跑,看到的还是上一次的图。
自定义节点:装之前要知道的风险
自定义节点是 ComfyUI 最大的能力来源,也是最大的故障来源。
四、把工作流当资产
能跑一次不算资产,能反复跑、交给别人也能跑才算
知仓学习社