什么是ComfyUI

ComfyUI是一个基于节点的稳定扩散图形用户界面,主要用于构建高度灵活的图像生成工作流,适用于数字艺术家、AI研究人员、内容创作者等多种用户群体.以下是对其特点的具体介绍:

  • 轻量级且运行速度快:相比一些传统的图像生成工具,ComfyUI的资源占用相对较低,能够在较低配置的设备上较为流畅地运行,并且生成图像的速度也较快,大大提高了创作效率.
  • 高度灵活与可配置:用户可以通过将不同的节点链接在一起来构建各种复杂的图像生成工作流程,每个节点都代表着一个特定的功能或操作,如加载检查点模型、输入提示、指定采样器等,用户可以根据自己的需求自由组合和调整这些节点,以实现个性化的图像生成效果.
  • 工作流透明直观:ComfyUI将图像生成的工作流程以可视化的节点和连线的方式呈现出来,用户可以清晰地看到数据的流向和每个节点的处理结果,这有助于用户更好地理解和掌握图像生成的原理和过程,同时也方便用户对工作流程进行调试和优化.
  • 易于共享与传播:ComfyUI的工作流可以保存为文件,并且每个文件都是一个可重复的工作流程,用户可以方便地将自己创建的工作流分享给其他用户,也可以下载和使用他人分享的工作流,促进了知识和经验的交流与共享.
  • 适合原型设计:它提供了一个图形界面,用户无需编写大量的代码即可进行图像生成的原型设计,通过简单地拖拽和连接节点,就可以快速尝试不同的想法和组合,从而更快地探索和实现新的图像生成效果.

如何使用ComfyUI

以下是使用ComfyUI的一般步骤:

  1. 安装ComfyUI:目前有两种常见的安装方法。一是使用官方提供的整合包,按照官方文档的指引进行下载、解压和配置等操作;二是使用秋叶的一键启动器,这种方式相对更简单,可避免官方整合包可能出现的代码报错,且下载节点插件也更加方便,具体可参考秋叶的一键启动器安装教程.
  2. 启动与界面熟悉:安装完成后,打开ComfyUI的启动器文件启动程序,启动后会在浏览器中打开一个网页端的UI界面。界面中主要由节点、连线和控制区等部分组成。节点是各种功能模块,连线用于连接节点以表示数据的流动,控制区则提供了一些操作按钮和功能选项,如加载工作流、保存工作流、安装缺失节点等.
  3. 选择或创建工作流:
    • 选择已有工作流:ComfyUI启动后可能会自带一些预设的工作流模板,如文生图、图生图、老照片修复等,用户可以直接选择使用。如果自带的工作流不能满足需求,还可以从其他地方获取现成的工作流,比如国内知名的AI模型和作品分享平台liblib.art,下载后在ComfyUI的GUI界面右下角的控制区内选择“加载”即可使用.
    • 创建新工作流:用户可以通过拖拽节点到工作区,并将它们的输入输出端口进行连接,来构建自己的工作流。例如,若要创建一个简单的文本到图像的工作流,需要添加“加载检查点”节点、“clip文本编码器”节点、“ksampler”节点等,并将它们正确连接起来.
  4. 配置工作流参数:
    • 选择模型:在“加载检查点”节点中选择合适的Stable Diffusion模型,点击型号名称可显示可用型号的列表。如果节点太小,可以使用鼠标滚轮或在触摸板上用两根手指捏合来放大和缩小查看.
    • 输入提示词:在“clip文本编码器”节点的相应位置输入正面提示词和负面提示词。正面提示词用于描述想要生成的图像内容,负面提示词则用于排除不希望出现的内容。还可以使用语法(keyword:weight)来控制关键字的权重.
    • 调整采样器参数:在“ksampler”节点中,可以设置种子、控制种子在每一代之后的变化方式、采样步骤数、采样算法、调度程序、去噪强度等参数,以调整图像生成的效果和质量.
  5. 运行工作流生成图像:点击界面上的“队列提示”或相关的运行按钮,ComfyUI将按照设定的工作流和参数开始生成图像,并在界面上显示生成的进度和结果。生成完成后,用户可以查看、保存或进一步修改图像.
  6. 安装与管理自定义节点:如果工作流中缺少某些特定的功能节点,可以通过点击界面右下角控制区的“节点管理器”,选择“安装缺失节点”来自动识别并下载安装所需的节点。此外,还可以使用ComfyUI管理器来安装和更新其他自定义节点,以扩展ComfyUI的功能.

问题与检测

ComfyUI在使用过程中是可能会出现一些Bug的,以下是一些常见的Bug及解决方法:

安装与更新问题

  • 依赖缺失或版本不匹配:安装过程中可能会出现依赖项未正确安装或版本不对的情况。比如安装完成后首次加载默认工作流ComfyUll2vGenXL时报错,即使requirements.txt里的依赖都已安装,仍可能出现问题,此时需把diffuser更新到最新版本,可在python embeded目录下运行 python -m pip install--upgrade diffusers 来解决.
  • 一键更新问题:使用一键更新后,可能会缺少insightface模块,需要下载和Python版本对应的whl文件,并在便携版python环境下安装;还可能出现缺少模型输入的错误,需找到红色描边节点并重新选择模型或者下载对应的模型.

节点与工作流问题

  • 节点缺失或不兼容:加载别人的工作流时,若节点缺失会导致报错,可点击管理器manager,一键更新缺失节点来解决;若运行到某一个节点时出现红框报错,大概率是该节点未连接到对应的节点,需将其链接到正确的节点;若出现紫框报错,一般是缺失某种文件内容,可查看管理器、文件目录以及github对应节点的网站,对比更新时间,若不一致则更新节点.
  • 工作流保存问题:当工作流的名字中包含如冒号等特殊字符时,保存到磁盘可能会失败.

模型与参数问题

  • 模型选择错误:使用某些特定节点如ipadapter的faceid类型时,需要加载对应的faceid模型,否则会报错;使用sdxl lighting类的模型时,需要配置调度器scheduler为sgm,否则会出现报错或者出图效果乱码.
  • 参数设置错误:运行时可能会出现运行参数错误,比如用ipadapter apply的faceid类型时,需要加载faceid模型,加载器最好也是要选择带faceid的loader,简单的解决方法是切换模型或者调整节点.

插件问题

  • freeU插件问题:更新后运行,遇到K采样器报错 AttributeError: 'UNetModel' object has no attribute 'default_image_only_indicator', 需删掉freeU节点,到秋叶启动器中扩展里面卸载该插件,或手动删除custom nodes文件夹下的freeu插件.
  • clipseg插件问题:出现报错 OpenCV (4.7.0) (-215:Assertion failed),是clipseg插件使用的API和当前环境不兼容,需修改custom_nodes/clipseg.py文件中的代码,将 tensor = torch.sigmoid(outputs(0)) # get the mask 修改为 preds = outputs.logits.unsqueeze(1);tensor = torch.sigmoid(preds(0)(0)) # get the mask.
    在这里插入图片描述

性能与内存问题

  • 内存溢出:运行时若出现 out of memory 报错,表示内存达到上限了,需关闭掉多余的软件并尝试重启ComfyUI再次运行,如果还是不行则说明内存确实不足,需要增加内存.
  • 显存不释放:存在节点运行完之后显存不会自动释放的问题,导致后续节点容易爆显存.

系统与环境问题

  • 浏览器兼容性问题:在某些浏览器中,使用鼠标滚轮缩放界面时可能会出现视觉或可用性问题.
  • 网络连接问题:运行时若无法连接到 https://hugging face.co 等网址去加载文件,可能是网络连接问题,需检查网络或查看如何在离线模式下运行相关库.
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐