最近体验了一下 ComfyUI。作为刚入门的新手,把一些我在配置和运行复杂图像生成工作流中的实践经验记录下来。
环境搭建:基础设施与依赖项
在深入工作流程之前,需要先搭建正确的环境。这涉及安装一些 ComfyUI 基础版中未包含的额外节点:
- ComfyUI-Manager:用于管理和安装各种自定义节点的实用工具。
- comfyui_controlnet_aux:执行 ControlNet 相关操作的核心组件。
- rgthree 的 ComfyUI 节点:扩展工作流功能的自定义节点集,尤其适用于 LoRA 操作。
提示:加载新工作流时,务必检查节点类型是否齐全。ComfyUI 界面会对缺失组件发出警告。
模型与输入文件准备
最耗时但至关重要的步骤是下载所有必需的模型和输入文件。以下是本次生图工作流所需资源的详细清单,包括下载链接和对应的存储路径:
-
SDXL 模型:
- 模型:LeoSam's HelloWorld XL
- 下载地址:https://civitai.com/models/43977/leosams-helloworld-xl
- 存储路径:ComfyUI/models/checkpoints/
-
VAE 模型:
- 模型:SDXL VAE
- 下载地址:https://huggingface.co/stabilityai/sdxl-vae/blob/main/sdxl_vae.safetensors
- 存储路径:ComfyUI/models/vae/
-
输入图像:
-
ControlNet 模型:
a. 草图控制用 T2I-Adapter:- 下载地址:https://huggingface.co/TencentARC/t2i-adapter-sketch-sdxl-1.0/tree/main
- 存储路径:ComfyUI/models/controlnet/TencentARC/t2i-adapter-sketch-sdxl-1.0/diffusion_pytorch_model.fp16.safetensors
b. 深度估计用 SAI XL Depth LoRA:
- 下载地址:https://huggingface.co/lllyasviel/sd_control_collection/resolve/7cf256327b341fedc82e00b0d7fb5481ad693210/sai_xl_depth_256lora.safetensors
- 存储路径:ComfyUI/models/controlnet/sai_xl_depth_256lora.safetensors
-
超分辨率模型:
- 模型:4x-UltraSharp
- 下载地址:https://huggingface.co/lokCX/4x-Ultrasharp/blob/main/4x-UltraSharp.pth
- 存储路径:ComfyUI/models/upscale_models/
注意:如果 ComfyUI 安装中没有上述目录,则需要手动创建。
工作流程执行
完成准备工作后,我们开始执行工作流程。以下是观察到的一些现象:
-
执行时间:首次运行整个流程耗时约 383.24 秒,后续运行仅需 106 秒。这种显著的性能提升主要得益于缓存机制和 GPU 预热。
-
工作流复杂度:该生图工作流涉及多个复杂步骤,包括图像预处理、ControlNet 引导、SDXL 推理和超分辨率处理。
-
资源消耗:请注意,特别是在处理高分辨率输入或输出时,该流程会导致 GPU 使用率和内存消耗激增。
经验总结与优化方向
-
充分准备至关重要:提前准备好所有模型和输入文件可大幅减少故障排除时间。请仔细核对文件路径!
-
LoRA 实验:虽然本次运行未使用 LoRA 模型,但将其纳入未来实验计划中,以探索进一步提升生图效果的可能性。
-
性能优化:如需进行多次迭代,建议优化工作流程以加快后续运行速度。考虑使用模型量化、批处理等技术。