ComfyUI,你开启XL钥匙打开了新世界

第一次生成**A航线🤔**

在进行ComfyUI的第一次生成前还是有很多准备工作的,考虑走A航线的大家已经是AI栋梁了,就不再像以前一样喂饭了,不过我们还是需要先基本了解一下:
  • ComfyUI是什么
  • 如何在本地安装ComfyUI
  • 一次基本生成(txt2img)的工作原理(尤为重要
  • 进行一次基本生成

1. ComfyUI

A powerful and modular stable diffusion GUI and backend(一个强大的、模块化的Stable Diffusion GUI和后端)作者是这么开场白的。 ComfyUI主要使用基于图形/节点/流程图的界面来设计和执行进阶的SD管线。所以我们可以简单的理解过去我们在webui中一个按钮和几个设置操作的工作部分,需要在ComfyUI中进行workflow的连接。而SD在整个扩散生成的过程,每一个工作环节都将颗粒度变小,最小单位是一个或者多个参数组成一个节点块。多个节点块构成一个生成步骤。多个生成步骤拼起来是一次任务,而若干个任务就能解决无穷无尽的需求了。 就好像从蛋白质形成细胞,到器官,到人体,人体组成家庭,家庭构建社会…一样可以进行更多的组合,这里就充满了创造和想象,这也是ComfyUI领先于WebUI的逻辑所在。一会在工作原理上会再详细介绍。

有WebUI基础 - 图1

这样你大概率可以完成这样你在webui想都不敢想的操作:

有WebUI基础 - 图2

有WebUI基础 - 图3

官方的特征介绍(我把主要的列出来):
  • 节点/图形/流程图界面,用于实验和创建复杂的稳定扩散工作流程,而无需编写任何代码。
  • 完全支持 SD1.x、SD2.x 和 SDXL
  • 异步队列系统
  • 仅重新执行在执行之间更改的工作流部分(节省计算资源)
  • 甚至可以使用cpu进行生图(很慢),可以在小于3G显存的GPU上运行
  • 可以加载 ckpt、安全张量和扩散器模型/检查点。独立的VAE和CLIP型号。
  • 嵌入/文本反转
  • 从生成的 PNG 文件加载完整的工作流(带有种子)。
  • 将工作流保存/加载为 JSON 文件。
  • 启动速度非常快。
  • 完全离线工作:永远不会下载任何内容。
  • 设置模型搜索路径,可以复用设备上的其他路径里的模型文件。

2. 安装

直接下载

官方提供了一个window版的解压即用,(像不像懒人包?就是),复制下面链接即可下载,大小1.35G(不含模型),版本121.
https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z

手动部署

需要先确认python安装(有webui这里应该都有装好),pytorch注意:pytorch 尚不支持 python 3.12,因此请确保您的 python 版本为 3.11 或更早版本)
git 克隆comfyui到本地。打开windows的cmd,然后输入下面:
  1. git clone https://github.com/comfyanonymous/ComfyUI.git
至于如何安装pytorch,以及Linux,Mac OS如何安装,受限篇幅,我就不多废话,上面clone的地址上有详细说。
所以综合来看,ComfyUI在部署上其实比WebUI反而更容易。

修改**配置-使用WebUI的模型共享**

上面特性有介绍设置模型搜索路径,可以复用设备上的其他路径里的模型文件。你只需要部署好ComfyUI后进入文件夹中找到下面这个文件。(记事本打开,也可以把.example删掉再打开) ComfyUI/extra_model_paths.yaml.example 把base_path: 后面改成你webui的根目录就行。

有WebUI基础 - 图4


3. 一次T2I的工作原理***

这部分很重要,这部分是使用好ComfyUI的核心,可以说是基本功,只要了解了扩散模型的工作原理,你才能自己拼装出来能应付所有需求的工作流。 先倒退回最早学习SD扩散模型的理论知识(现在回想起来,当初可能真的是学了个寂寞啊,文章也是囫囵吞枣,重点还是看引用链接吧)传送门:

Stable Diffusion的工作原理(理论篇)

有WebUI基础 - 图5

我基于自己的理解重新做了一张更好消化的原理流程图。里面红色部分也是ComfyUI的节点重要组成部分,就像乐高的基础模块了。

编码器(Encoder):文本也好,图片也好都需要经过一个编码器才能变成机器认识的语言。尤其是图片,与文本的编码不一样,这个我们图生图再说。

采样器:这里名词不是很严谨,但为了方便你学习ComfyUI,你就把带有算法,在潜空间一顿操作的玩意儿叫采样器,图片尺寸,采样步数,采样算法,潜空间种子等一系列的设置也都在这部分完成。

解码器:经过潜空间操作之后变成噪点的这一堆玩意儿,还需要一个解码器才能重新变成图片。

加载器:这是为了工具而设立出来的一个东西,因为模型我们需要有个盘子装起来,所以需要加载checkpoints,lora,controlnet模型,甚至图片,在comfyui里都统称加载器。

整个原理有个不恰当的比喻就是:

就像你虚着眼睛看一张图,这个图在潜空间里重新一顿洗牌,码牌,等你把眼镜一带,哇,图生出来了

4. 进行一次基本生成

好了,4个器皿你都get到了。这个时候我们再打开ComfyUI,这下默认的这个组合你就很容易认识了。

有WebUI基础 - 图6

如果没有默认工作流,可以从B航线窃取,ComfyUI官方特性就提到了最好用的“拿来主义”,也是B航线能成立的原因

有WebUI基础 - 图7

如果你对于不是中文有些苦恼,也没关系,先认识这几个单词也没坏处,之后会在插件那期专门提供汉化插件的安装。 最后,就只需要选择需要的模型,随便设置一下熟悉的参数,在正向关键词里填入你想要描述的英文prompt。点击默认在右边dock住的菜单栏上的queue prompt按钮。(快捷键Ctrl+Enter)

有WebUI基础 - 图8

你会目送,程序从加载器开始加载模型,快速的clip编码进入采样器开始跑进度条,最后从解码器解码出来放入保存的图片容器中。

有WebUI基础 - 图9

你ComfyUI的Hello world 就!!了。