ComfyUI介绍
发布时间:2024 年 11 月 17 日 分类:AI影像
目前使用 Stable Diffusion 进行创作的工具主要有两个:WebUI 和 ComfyUI。而更晚出现的 ComfyUI 凭借超高的可定制性和复现性迅速火遍全球。
本文就来具体介绍一下 ComfyUI 是什么?为什么好?怎么用?
ComfyUI 是一个专为 Stable Diffusion 设计的基于节点的图形用户界面(GUI),简单来说就是将整个图像生成过程分解为多个独立的节点,每个节点都有自己独立的功能,例如加载模型,文本提示,生成图片等等。每个模块通过输入和输出的线连在一起变成一个完整的工作流。
整个过程用户可以灵活的调整和配置不同的功能节点,这就代表整个模型更加自由,控制更加精准。
作为现在最火爆的两大创作工具,WebUI 开箱即用,基本功能齐全,社区也有很多的插件支持,入门比较简单,适合新手,但是可定制性稍微差点,很多作品不容易传播复现,使用 API 进行操作也有一定的难度。
ComfyUI 虽然出来的晚一点,但是它的可定制性很强,可以让创作者搞出各种新奇的玩意,通过工作流的方式,也可以实现更高的自动化水平,创作方法更容易传播复现,发展势头特别迅猛。两者对比有非常多显著的差别。
1. ComfyUI 对显卡比较友好
即使是 GPU 小于 3G 的情况下也能正常工作。它占用的显存更少,在相同显存条件下能够生成更大尺寸的图像。同时,Mac 电脑也能顺利运行 ComfyUI(建议 M1 以上的电脑使用),虽然依旧达不到 Windos 的运行效率,但这也给 Mac 用户提供了一个可以使用 SD 生图的机会。而 WebUI 近乎抛弃了 12G 显存以下的用户,显存使用效率较低,更不提 Mac 用户。
2. ComfyUI 运行效率极大的提高
设计师通过 ComfyUI 和 Automatic1111 WebUI 运行了一批 20 张图像,以查看每张图像的总时间。这些图像基于 Stable Diffusion 1.5 模型,分辨率为 512x768。作为参考,使用的是 RTX 3060(12GB VRAM)。最后的结果如下
WebUI 要花费 ComfyUI 两倍多的时间,这是一个相当大的差距。当你使用 SD 生成视频渲染每一帧时这种时间差异会更加明显。
3. ComfyUI 可以实现实时预览
用户能够即时看到生成结果。这归功于节点拼接的高自由度,你可以在任何一个位置插入图片生成的功能节点,这样就可以在你想要预览图片的位置实时预览图片生成效果。
4. ComfyUI 可以完全实现工作流的复用
ComfyUI 的工作流可以单独作为 Json 文件保存,你可以通过下载的工作流文件直接使用理想效果的工作流,也可以在这份文件上进行任意的修改和添加。值得注意的是,通过 ComfyUI 生成的图片原文件也保留着工作流数据,也就是说,你只要下载社交媒体上设计师上传的图片原文件拖拽放入 ComfyUI 中,工作流会被立刻复现。
5. 与 WebUI 共通模型
WebUI 与 ComfyUI 本质都是使用 Stable Diffusion 大模型进行生图,只是使用方式不同,所以如果你是 WebUI 的老用户,你可以直接将 WebUI 中使用的模型与 ComfyUI 共通,过程非常简单。
在这里为新手的设计师提供一些你一定会用到的使用技巧:
1. ComfyUI Manager
ComfyUI 是完全通过节点组成,所以下载不同的节点是最开始就会遇到的问题。ComfyUI Manager 作为一个节点,你可以将它看作一个插件,它可以下载几乎所有你能使用到的节点,并且提供了更新、管理自定义节点等等的功能。下载了它几乎等于你不会再通过 Github 安装节点。
安装完成 ComfyUI Manager 后,重启 ComfyUI,在右边可以找到一个「manager」点击就可以进入插件界面。
其中有两个最常用的功能就是搜索安装节点和一键安装工作流中的所有缺失节点。
ComfyUI Manager:github.com/ltdrdata/ComfyUI-Manager
2. 将 WebUI 中的模型导入 ComfyUI
用过 WebUI 的设计师应该已经下载了很多自己顺手的模型,这些模型在 ComfyUI 中也是通用的,所以我们只需要共享这些模型就可以使用
具体流程如下:
- 在 ComfyUI 目录中,有一个 extra_model_paths.yaml.example 文件,将其重命名为 extra_model_paths.yaml
- 打开该文件,找到 base_path:path/to/stable-diffusion-webui/,将路径替换为你的 WebUI 的路径,例如 base_path:D/StableDiffusion/stable-diffusion-webui/
- 最后重启 ComfyUI,你就可以在 Load Checkpoint 中的 Ckpt_name 中找到