强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

一、什么是 ComfyUI?

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

ComfyUI 是一个模块化的 stable diffusion 图形界面。

这样的描述可能会让很多人感到疑惑,究竟什么是模块化呢?

举一个简单的例子。就好比电脑的组装,其中有主板、CPU、内存和硬盘等部件。每个部件都可以根据用户的需求选择不同性能的型号,然后组装成一个完整的电脑主机。这种模块化设计使得用户能够根据自身需求进行定制,而且在日后需要升级时,也可以方便地更换特定的部件,而无需替换整个电脑。

相比之下,手机通常是非模块化的,因为从出厂时开始,手机的各个部件都是固定的,无法轻易地替换或升级。这意味着用户购买手机时只能选择整体配置,无法像电脑那样根据自身需求定制,也不能在后期更换特定部件进行升级。

ComfyUI 秉承模块化的设计理念,将复杂的AI绘图过程拆解成独立的步骤,每个步骤被定义为一个模块,各模块都具备特定的功能,可单独调整,也可按照规则与其他模块自由链接,从而使得AI绘图流程更加灵活多样。然而,这种模块化的设计也使得要想熟练使用 ComfyUI 进行绘画,就需要对 stable diffusion 的工作原理有一定了解,因此相对于 A1111,ComfyUI 的上手难度稍高一些。

二、为什么需要 ComfyUI?

作者编写 ComfyUI 代码的初衷是为了深入了解 stable diffusion 的工作原理,并希望拥有一个功能强大且简洁的工具,以便进行无限制的 stable diffusion 实验。

如果你也有兴趣深入了解 stable diffusion 的工作原理,并且在寻找一个工具来创建自己的生图流程,那么 ComfyUI 绝对是你最佳的选择。另外,使用 ComfyUI 最主要的原因是其对 SDXL 的优化更好,跑图的显存占用更低,速度更快。

可能很多人觉得很奇怪,A1111 不是已经很好了吗?为什么还要使用 ComfyUI 呢?那么我们接下来就讲讲 A1111 和 ComfyAI 的区别。

① 用户界面。A1111 的用户界面更贴近我们的使用习惯,对于每个设置,我们只需要进行选择或调整即可。例如当我们需要进行图生图操作时,只需要点击图生图标签,并将图片上传,然后设置参数即可,最后模型就会根据 A1111 内部设定流程完成整个生图过程。但 ComfyUI 不同,如果我们需要进行图生图操作,我们需要自己构建流程,自己考虑添加哪些模块(节点),以及这些节点之间如何连接等等,然后才设置参数,最后 ComfyUI 根据我们设定的流程来生成最后的图片。因此,如果你对 stable diffusion 一无所知,那么 A1111 是更适合你的选择,当你掌握了一定的 stable diffusion 运行机制后,ComfyUI 也将会是很不错的平替。

② 扩展支持。A1111 的扩展支持要强于 ComfyUI。在 github 搜索框输入 “ComfyUI”,只有22页的搜索结果,而输入 “stable diffusion webui”,结果足足有100页。说明支持 A1111的插件数量更多,意味着扩展功能更丰富,总体的能力越强。

③ 绘图速度。最近,之所以 ComfyUI 的知名度突然提高,主要归功于其对 SDXL 较好的支持。在 A1111 中,使用 SDXL 模型往往会占用大量内存,同时显存的占用也居高不下,从而导致图片的生成速度很慢。而 ComfyUI 却能在较低显存和内存占用的条件下以较快的速度完成相同的内容。对于 SD v1 版本,A1111 和 ComfyUI 的绘图速度看不出明显区别,但使用 SDXL 来绘图,ComfyUI 的速度差不多是 A1111 的两倍。因此,如果你想在低显存的情况下也能更好体验 SDXL,那么 ComfyUI 是我目前更推荐的选择。

三、如何安装 ComfyUI?

安装方法很简单,步骤如下:

① 下载此压缩文件:https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windows_portable_nvidia_cu118_or_cpu.7z

② 解压之后进入目录,点击 run_nvidia_gpu.bat 运行。如果想运行在 CPU 上则打开 run_cpu.bat,但不推荐。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

③ 成功运行之后,程序自动使用默认浏览器打开UI地址,默认界面如下。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

④ 往往使用 ComfyUI 的用户,在这之前应该都是在使用 A1111 的,如果还需要将模型文件复制一份给 ComfyUI,那么对储存占用将会变得很高。通过一个简单的设置,ComfyUI 就可以加载 stable-diffusion-webui 目录下的所有模型文件,包括 SD 模型、Lora 和嵌入等等,而不需要复制这些文件。

⑤ 首先是在 \ComfyUI_windows_portable\ComfyUI 路径下打开文件名为 ”extra_model_paths.yaml.example” 的文件,然后打开记事本,并将该文件拖动到记事本打开,将 base path 后的路径改为 stable-diffusion-webui 文件夹路径。如我的存放路径为 C:\AI-stable-diffusion-webui。最后,ctrl+S 保存。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑥ 将 ”extra_model_paths.yaml.example” 文件重命名为 ”extra_model_paths.yaml”,重新启动 ComfyUI 之后,就可以加载 webui 目录下的所有模型了。

四、基础用法

1、一进入界面,你会看到多个独立的框,我们称之为 “Node(节点)”,并且这些节点可以自由移动。最左边的节点是 “Load Checkpoint(模型加载)”,如下图所示。“模型加载”节点的作用是将模型加载到内存中并将模型权重应用到神经网络。简单来说,该界面的主要功能是选择不同的 stable diffusion 模型。你会注意到“加载模型”节点有三个输出,分别为 "MODEL"、"CLIP" 和 "VAE",下面我将对它们进行逐一讲解。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

2、首先来看看 CLIP。CLIP 模型与 “CLIP Text Encode( CLIP 文本编码器)”节点相连,如下图所示。CLIP 模型的作用是将我们输入的内容进行编码,使之能够指导模型生成我们指定内容。你会发现有两个 CLIP 文本编码器,其中一个编码正向提示词,另一个则编码反向提示词。这两个 CLIP 文本编码器节点与 A1111 中的两个提示词输入框没有任何区别,它们的作用完全一致。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

3、接下来是 “model(模型)”,这是SD的主要模型。那么图片是如何生成的呢?在 stable diffusion 中,图片由 “Sampler(采样器)”生成。采样器接收主模型以及由 CLIP 编码的正向和反向提示词作为输入,并且还需要一个空的“潜在图片”。"潜在图片"可以理解为SD模型所使用的数据表示,而“像素图片”则是我们最终看到的数据形式。潜在图片是像素图片高度压缩的形式,保留了像素图片的高级特征,而数据量显著降低。值得注意的是,采样器处理的数据是潜在图片而不是像素图片,正是因为这样,稳定扩散才能在消费级显卡上运行,并且能够以如此快的速度生成图片。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

4、最后是 VAE。采样器接受了4个输入,形成一个新的潜在(latent)图片输出。正如我们刚才所说,潜在图片是 SD 模型能理解的数据形式,需要转换为像素图片之后才能被我们看懂,而 VAE 要做的就是将潜在图片转换为像素图片。VAE Decode(VAE解码器)节点作用是接收从采样器生成的潜在图片,并利用VAE模型解码为像素图片,最后输出为一张 PNG 格式的图片。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

5、总的来说,stable diffusion 的文生图过程首先是 CLIP 将我们输入的文字编码为SD模型可以理解的数据,之后采样器接受 CLIP 编码的数据以及一张空的潜在图片,并根据种子值给空的潜在图片添加噪点,然后采样器根据设定的参数将充满噪点的潜在图片恢复成一张清晰的潜在图片,最后清晰的潜在图片被 VAE 解码为一张清晰的像素图片,并保存为 png 格式文件。

6、如果以上你都大概理解了,那么接下来就可以试着想想图生图的流程是如何进行的。如果让你自己创建一个图生图流程,你能成功创建吗?

五、进阶用法

1、创建图生图流程

① Stable diffusion 进行图生图的流程与文生图略微有一点区别。

② 第一步是加载图片。加载图片的节点为 “Add Node”>>>“image”>>>“Load Image”

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

③ 之前我们有说到,stable diffusion 处理的图片为潜在图片,因此接下来我们需要使用 VAE 将像素图片转化为潜在图片的形式。选择 “Add Node”>>>“loaders”>>>“Load VAE”。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

④ 只是加载 VAE 还不够,还需要将添加 VAE 编码器节点,以将像素图片编码为潜在图片。选择 “Add Node”>>>“latent”>>>“VAE Encode”

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑤ 此时我们已经添加了三个节点,连接方式如下图所示。蓝线为像素图片与 VAE 编码器的连接线,红色为 VAE 加载节点与 VAE 编码器的连接线。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑥ 当然,如果你没有下载独立的 VAE 模型,你也可以使用 SD 模型自带的 VAE 模型来对像素图片进行编码。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑦ 接下来,使用 SD 的主模型对潜在图片进行处理。选择 “Add Node”>>>“conditioning”>>>“CLIP Text Encode (Prompt)” 添加两次,作为图生图流程的正向和反向提示词。选择 “Add Node”>>>“sampling”>>>“KSampler” 添加采样器。并按照以下方式连接。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑧ 采样器节点输出的潜在图片经过VAE解码后即可生成像素图片,最后保存为 PNG 格式的图片文件。因此接下来需要添加一个 VAE 解码器节点和一个图片保存节点。选择 “Add Node”>>>“latent”>>>“VAE Decode”,选择 “Add Node”>>>“image”>>>“Save Image”。最后将节点连接,如下图所示。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑨ 在 “Load Image” 节点单击 “choose file to upload” 上传图片

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑩ 输入提示词,在 “KSampler” 节点的 denosie 选项设置重绘幅度,最后点击右上角的 “Queue Prompt” 生成图片。最终效果如下图所示

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

11 接下来你应该可以根据自己目标来设置各种节点了,尽情去探索吧!

2、保存和使用已创建的流程

使用 ComfyUI 生成的图片中都包含了生成该图片的流程信息,意味着你可以通过加载该图片获得所有节点信息。除此之外,你还可以在 ComfyUI 界面将创建的流程保存起来。

步骤如下:

① 点击右上角的 “Save” 按钮

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

② 在弹出的对话框中输入新的文件名,点击“确定”,将该文件保存在方便找到的地方。

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

③ 保存的文件可以再次加载到 ComfyUI 界面中。按 “Clear” 清空界面,然后点击 “Load”

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

④ 找到存放模板文件的文件夹,选择想要加载的流程,点击打开

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑤ 你就能重新加载之前保存的所有节点信息啦

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑥ 除了通过加载 .json 文件,我们还可以使用 ComfyUI 生成的图片作为模板加载,获取生成该图片的所有节点设置。加载步骤与上面的步骤完全相同,点击 “Load”,选择一张 ComfyUI 生成的图片,然后点击打开

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用

⑦ 最后就可以获得该图片的生成信息啦

强大的AI生图工具ComfyUI,ComfyUI介绍详细部署教程和使用
声明:内容均采集自公开的网站等各类媒体平台,若收录的内容侵犯了您的权益,请联系邮箱,本站将第一时间处理。
百科

国内好用的ChatGPT平替工具介绍,8个免费AI大模型应用

2024-3-31 8:34:46

教程百科

用AI工具复原历史人物,附操作教程

2024-3-31 9:31:14

搜索