ComfyUI工作流介绍

文摘   2025-01-02 09:23   新加坡  

 

ComfyUI工作流介绍

ComfyUI作为Stable Diffusion的新一代图形化工作流工具,相比WebUI提供了更灵活的节点式操作方式。让我们深入了解如何充分利用这个强大的工具。

安装与基础配置

  1. 1. 基础环境准备
    # 克隆仓库
    git clone https://github.com/comfyanonymous/ComfyUI.git
    cd ComfyUI

    # 创建并激活虚拟环境
    conda create -n comfyui python=3.10
    conda activate comfyui

    # 安装依赖
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    pip install -r requirements.txt
  2. 2. 模型下载与放置
    # 创建必要的目录
    mkdir -p models/checkpoints
    mkdir -p models/vae
    mkdir -p models/loras
    mkdir -p models/embeddings
    将下载的模型文件放置在对应目录:
  • • 基础模型(.safetensors/.ckpt) → models/checkpoints/
  • • VAE文件 → models/vae/
  • • LoRA文件 → models/loras/
  • • Textual Inversion文件 → models/embeddings/
  • 3. 启动服务
    python main.py
    启动后访问 http://localhost:8188 即可打开WebUI界面。
  • 工作流设计原理

    ComfyUI的核心是基于节点的工作流系统,主要包含以下几类节点:

    1. 1. 加载节点
    • • CheckpointLoaderSimple:加载基础模型
    • • VAELoader:加载VAE模型
    • • LoraLoader:加载LoRA模型
    • • CLIPTextEncode:处理提示词
  • 2. 处理节点
    • • KSampler:核心采样器节点
    • • ImageScale:图像缩放
    • • ConditioningCombine:合并条件
    • • VAEDecode:VAE解码
  • 3. 输出节点
    • • SaveImage:保存图像
    • • PreviewImage:预览图像

    常用节点详解

    1. 1. 文本编码节点(CLIPTextEncode)
      # 正向提示词示例
      positive_prompt = "masterpiece, best quality, ultra detailed, photograph, 8k uhd"

      # 负向提示词示例
      negative_prompt = "lowres, bad anatomy, bad hands, missing fingers"
    2. 2. 采样器节点(KSampler)
    • • Steps:20-30适合大多数场景
    • • CFG Scale:建议值7-9
    • • Sampler:推荐Euler a或DPM++ 2M Karras
    • • Scheduler:推荐Karras或Simple
  • 3. VAE处理节点
    # VAE编码和解码流程
    vae_encode = VAEEncode()
    latent = vae_encode(image)
    vae_decode = VAEDecode()
    result = vae_decode(latent)
  • 实用工作流示例

    1. 1. 基础图像生成工作流
      {
        "last_node_id"8,
      "last_link_id"8,
      "nodes": [
          {
            "id"1,
            "type""CheckpointLoaderSimple",
            "pos": [100100],
            "properties": {
              "ckpt_name""v1-5-pruned.safetensors"
            }
          },
          {
            "id"2,
            "type""CLIPTextEncode",
            "pos": [400100],
            "properties": {
              "text""masterpiece, best quality, ultra detailed, (photorealistic:1.2), 8k uhd, beautiful landscape"
            }
          },
          {
            "id"3,
            "type""CLIPTextEncode",
            "pos": [400250],
            "properties": {
              "text""lowres, bad anatomy, text, watermark, signature, blurry"
            }
          },
          {
            "id"4,
            "type""KSampler",
            "pos": [700100],
            "properties": {
              "steps"25,
              "cfg"8,
              "sampler_name""euler_ancestral",
              "scheduler""karras",
              "seed"123456789
            }
          },
          {
            "id"5,
            "type""VAEDecode",
            "pos": [1000100]
          },
          {
            "id"6,
            "type""SaveImage",
            "pos": [1300100],
            "properties": {
              "filename_prefix""comfyui_output"
            }
          }
        ],
      "links": [
          [1"MODEL"2"MODEL"],
          [1"MODEL"3"MODEL"],
          [1"MODEL"4"MODEL"],
          [2"CONDITIONING"4"POSITIVE"],
          [3"CONDITIONING"4"NEGATIVE"],
          [4"LATENT"5"LATENT"],
          [5"IMAGE"6"IMAGE"]
        ]
      }
    2. 2. ControlNet引导工作流
    • • 添加ControlNet预处理节点
    • • 将控制图像与原始提示词结合
    • • 通过权重调节控制强度
  • 3. 高级图像处理工作流
    • • 使用图像放大节点
    • • 添加后处理效果
    • • 合并多个生成结果

    性能优化技巧

    1. 1. 内存管理
    • • 使用合适的批处理大小
    • • 及时清理未使用的节点
    • • 适当降低采样步数
  • 2. 速度优化
    • • 启用xformers优化
    • • 使用半精度推理
    • • 选择高效的采样器
  • 3. 工作流优化
    • • 模块化设计工作流
    • • 使用队列管理批量任务
    • • 保存常用工作流模板

    常见问题解决

    1. 1. 显存不足
      # 修改启动参数
      python main.py --cpu-only # CPU模式
      python main.py --lowvram # 低显存模式
    2. 2. 模型加载失败
    • • 检查模型文件完整性
    • • 确认目录结构正确
    • • 验证模型兼容性
  • 3. 节点连接错误
    • • 检查数据类型匹配
    • • 确保节点顺序正确
    • • 验证必要节点是否缺失

    ComfyUI的强大之处在于其灵活性和可扩展性。通过掌握这些基础知识和进阶技巧,你可以构建出适合自己需求的高效工作流。建议从基础工作流开始,逐步添加复杂功能,最终建立起自己的工作流模板库。

     


    前端道萌
    魔界如,佛界如,一如,无二如。
     最新文章