Krita AI Diffusion 插件中 Flux UNET 模型的快速测试方案
背景介绍
Krita AI Diffusion 插件是一个强大的图像生成工具,它基于 ComfyUI 工作流系统。近期开发者们正在为 Flux 模型添加完整支持,但由于技术复杂性,完整的集成需要更多时间。本文介绍了一种临时解决方案,让用户能够提前测试 Flux UNET 模型的加载功能。
技术原理
Flux 是一种新型的扩散模型架构,与传统的 Stable Diffusion 模型不同,它采用了分离的组件设计:
- UNET:负责主要的扩散过程
- CLIP:处理文本编码
- T5:辅助文本理解
- VAE:负责图像编码和解码
这种分离设计使得模型可以更灵活地组合和优化,但也增加了集成的复杂性。
临时解决方案实施步骤
1. 准备模型文件
首先需要创建一个符号链接或副本文件:
- 选择一个已有的 Flux safetensors 完整检查点文件
- 将其重命名为特定格式:
__unet__<unet文件名>.safetensors
<unet文件名>
对应 ComfyUI/models/unet 目录中的实际 UNET 模型文件名
2. 修改插件代码
需要修改 comfy_workflow.py 文件中的 load_checkpoint
方法,添加对 UNET 模型的特例处理逻辑。修改后的代码会:
- 检测文件名中的
__unet__
标记 - 自动加载对应的 UNET 模型
- 分别加载 CLIP、T5 和 VAE 组件
- 支持 GGUF 和 NF4 两种量化格式
3. 配置模型路径
在代码中需要配置以下模型路径:
- CLIP 模型路径
- T5 模型路径(支持 GGUF 和标准格式)
- VAE 模型路径
技术细节说明
模型量化支持
目前支持两种量化格式:
-
GGUF 格式:
- 优点:内存占用低,稳定性好
- 缺点:首次生成速度较慢
- 最新版本已修复 LoRA 加载问题
-
NF4 格式:
- 优点:生成速度最快
- 缺点:不支持 LoRA,高分辨率下内存优势不明显
性能考量
在 8GB VRAM 的系统上:
- Q6 和 Q4 量化的 GGUF 模型可以正常工作
- Q8 版本可能因内存不足无法加载 LoRA
- NF4 版本虽然速度快,但不支持 LoRA
使用建议
- 对于测试目的,推荐使用 GGUF Q4_K_S 版本,它在速度和内存占用之间取得了良好平衡
- 如果需要更高画质,可以尝试 Q6 版本
- 纯速度追求者可选择 NF4 版本,但需注意功能限制
注意事项
- 修改代码前请确保了解如何回退更改
- 不同版本的模型文件可能有兼容性问题
- 修复无缝(seamless)选项需要关闭才能正常使用 Flux 进行修复
未来发展
官方已在 1.24.0 版本中正式加入了对扩散模型(UNET)和 GGUF 格式的支持,未来可能会进一步优化:
- 统一检查点和 UNET 模型列表
- 自动检测和加载 CLIP/VAE 组件
- 更深入的量化格式集成
这种临时方案虽然不够完美,但为技术爱好者提供了提前体验 Flux 模型的机会,也为开发者收集实际使用反馈提供了渠道。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考