批量处理 #

批量处理概述 #

为什么需要批量处理? #

批量处理可以高效生成大量图像,适用于测试、生产、数据集创建等场景。

text
┌─────────────────────────────────────────────────────────────┐
│                    批量处理优势                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  效率提升:                                                  │
│  ├── 一次设置,多次执行                                     │
│  ├── 自动化重复任务                                         │
│  └── 减少人工干预                                           │
│                                                             │
│  应用场景:                                                  │
│  ├── 参数测试 - 测试不同参数效果                            │
│  ├── 种子探索 - 寻找最佳种子                                │
│  ├── 批量生产 - 生成大量图像                                │
│  └── 数据集创建 - 创建训练数据                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

基础批量方法 #

Batch Size 设置 #

text
Empty Latent Image 节点:

┌─────────────────────────────────────────────────────────────┐
│                    Batch Size 设置                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  参数:                                                      │
│  ├── width: 图像宽度                                        │
│  ├── height: 图像高度                                       │
│  └── batch_size: 批量大小                                   │
│                                                             │
│  batch_size 说明:                                          │
│  ├── 1 - 单张图像                                           │
│  ├── 4 - 同时生成 4 张                                      │
│  ├── 8 - 同时生成 8 张                                      │
│  └── 更高 - 根据显存调整                                    │
│                                                             │
│  注意事项:                                                  │
│  ├── batch_size 越大,显存占用越高                          │
│  ├── 相同参数,不同种子                                     │
│  └── 适合快速生成变体                                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

示例:
batch_size: 4
seed: 12345

结果:生成 4 张图像,种子分别为 12345, 12346, 12347, 12348

自动队列 #

text
Auto Queue 功能:

位置:Extra options → Auto queue

模式:
├── disabled - 禁用自动队列
├── instant - 即时模式(完成即开始下一个)
└── change - 变化触发(参数变化时触发)

使用方法:
1. 设置工作流参数
2. 启用 Auto queue (instant)
3. 点击 Queue Prompt
4. 自动持续生成

配置选项:
├── Batch count - 批量数量
└── 可设置生成总数

种子控制 #

text
种子控制策略:

固定种子:
├── 每次生成相同结果
├── 用于复现和调试
└── 手动设置 seed 值

随机种子:
├── 每次生成不同结果
├── 用于探索和变体
└── seed 设为随机或 -1

种子增量:
├── 自动递增种子值
├── 产生系列变化
└── 保持相似性

KSampler 种子行为:
├── 固定种子:每次相同
├── 随机种子:每次不同
└── batch_size:自动递增

高级批量技术 #

参数变化批量 #

text
使用 Primitive 节点:

┌─────────────┐
│ Primitive   │
│ (Int/Float) │
│ value: X    │
└──────┬──────┘
       │
       ▼
┌─────────────┐
│ KSampler    │
│ cfg: ←──────┘
└─────────────┘

方法:
1. 创建 Primitive 节点
2. 连接到目标参数
3. 使用 Auto queue
4. 手动调整参数值
5. 自动生成变化版本

适用参数:
├── CFG
├── Steps
├── Denoise
├── LoRA 权重
└── 其他数值参数

提示词批量 #

text
多提示词批量:

方法 1:手动切换
├── 准备多个提示词
├── 逐个修改生成
└── 记录结果

方法 2:使用节点
├── String Literal 节点
├── 多个提示词节点
├── Switch 选择
└── 自动切换

方法 3:外部输入
├── 从文件读取提示词
├── 逐行处理
└── 自动化生成

示例工作流:
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ String 1    │     │             │     │ CLIP Text   │
│ "prompt A"  │────→│ Switch      │────→│ Encode      │
├─────────────┤     │             │     └─────────────┘
│ String 2    │────→│             │
│ "prompt B"  │     └─────────────┘
└─────────────┘

批量处理工作流模板 #

text
批量测试工作流:

目标:测试不同参数组合

结构:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌─────────────┐     ┌─────────────┐                       │
│  │ Primitive   │     │ Primitive   │                       │
│  │ (CFG)       │     │ (Steps)     │                       │
│  └──────┬──────┘     └──────┬──────┘                       │
│         │                   │                               │
│         └─────────┬─────────┘                               │
│                   │                                         │
│                   ▼                                         │
│           ┌─────────────┐                                   │
│           │ KSampler    │                                   │
│           └─────────────┘                                   │
│                                                             │
│  Auto queue: instant                                        │
│  手动调整参数 → 自动生成                                    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

批量生成工作流:

目标:生成大量图像

结构:
├── Empty Latent Image: batch_size = 4
├── Auto queue: instant
├── Batch count: 10
└── 总计生成: 4 x 10 = 40 张

自动化集成 #

API 批量调用 #

text
使用 API 进行批量处理:

1. 保存工作流为 API 格式
   ├── Save (API Format)
   └── 获得 JSON 文件

2. 编写调用脚本
   ```python
   import requests
   import json

   # 加载工作流
   with open('workflow_api.json', 'r') as f:
       workflow = json.load(f)

   # 修改参数
   workflow['3']['inputs']['seed'] = 12345

   # 发送请求
   response = requests.post(
       'http://127.0.0.1:8188/prompt',
       json={'prompt': workflow}
   )
  1. 批量循环
    python
    for i in range(100):
        workflow['3']['inputs']['seed'] = i
        response = requests.post(
            'http://127.0.0.1:8188/prompt',
            json={'prompt': workflow}
        )
    
text

### 队列管理

队列管理功能:

查看队列: ├── Queue size 显示当前队列数量 ├── 可查看待处理任务 └── 显示执行状态

队列操作: ├── Queue Prompt - 添加到队列 ├── Queue Prompt (front) - 插队 ├── Clear Queue - 清空队列 └── Interrupt - 中断当前任务

队列监控: ├── 查看执行进度 ├── 检查错误信息 └── 管理执行顺序

text

### 结果管理

批量结果管理:

文件命名: ├── filename_prefix 设置 ├── 自动编号 └── 包含参数信息

示例: filename_prefix: “test_cfg{cfg}_steps{steps}” 结果:test_cfg7_steps20_0001.png

输出目录: ├── 默认:ComfyUI/output/ ├── 可自定义 └── 按日期/项目分类

结果整理: ├── 自动命名规则 ├── 元数据记录 └── 便于筛选分析

text

## 效率优化

### 显存优化

批量处理显存优化:

  1. 合理设置 batch_size ├── 根据 GPU 显存调整 ├── 4GB: batch_size 1-2 ├── 8GB: batch_size 2-4 ├── 12GB: batch_size 4-8 └── 24GB: batch_size 8-16

  2. 使用低显存模式 ├── --lowvram └── 降低单次处理量

  3. 分批处理 ├── 多次小批量 └── 避免单次过大

  4. 模型管理 ├── 避免频繁切换模型 └── 使用相同模型批量处理

text

### 速度优化

批量处理速度优化:

  1. 参数优化 ├── 预览用低步数 ├── 快速采样器 └── 适当分辨率

  2. 工作流优化 ├── 移除不必要节点 ├── 简化处理流程 └── 合并相似操作

  3. 硬件优化 ├── 使用 SSD ├── 充足内存 └── 稳定电源

  4. 软件优化 ├── 启用 xformers ├── 最新驱动 └── 优化配置

text

## 常见问题

### 问题 1:队列卡住

症状:队列任务卡住不执行

解决: ├── 检查是否有错误提示 ├── 重启 ComfyUI ├── 清空队列重试 └── 检查系统资源

text

### 问题 2:批量中断

症状:批量处理中途停止

解决: ├── 检查错误日志 ├── 降低 batch_size ├── 检查显存使用 └── 分批处理

text

### 问题 3:结果混乱

症状:批量结果命名混乱或丢失

解决: ├── 设置清晰的命名规则 ├── 检查输出目录权限 ├── 确认磁盘空间 └── 使用自定义命名

text

## 最佳实践

### 批量处理建议

推荐流程:

  1. 准备阶段 ├── 确定批量目标 ├── 设计工作流 └── 设置参数范围

  2. 测试阶段 ├── 小批量测试 ├── 验证参数效果 └── 调整优化

  3. 执行阶段 ├── 设置批量参数 ├── 启动自动队列 └── 监控执行状态

  4. 整理阶段 ├── 检查生成结果 ├── 筛选优质图像 └── 记录有效配置

text

### 工作流模板

建立批量模板:

模板 1:参数测试 ├── 可变参数节点 ├── 自动队列 └── 快速迭代

模板 2:种子探索 ├── 固定其他参数 ├── 随机种子 └── 大量生成

模板 3:提示词测试 ├── 多提示词节点 ├── Switch 切换 └── 对比生成

模板 4:生产批量 ├── 优化参数 ├── 高质量设置 └── 稳定输出

text

## 下一步

现在你已经掌握了批量处理,接下来学习 [自定义节点](/docs/comfyui/custom-nodes),了解如何扩展 ComfyUI 功能。
最后更新:2026-04-05