ComfyUI-Flux1Quantize-MZ 插件完整保姆级教程
1. 插件简介
插件地址: https://github.com/MinusZoneAI/ComfyUI-Flux1Quantize-MZ
这个插件是专门为ComfyUI设计的Flux1模型压缩工具,就像把一个大文件压缩成小文件一样。它能让你在显存较少的显卡上也能运行Flux1模型,就好比把一个需要24GB显存的"大胖子"模型变成只需要6-8GB显存的"瘦子"模型,但画画的效果基本保持不变。
主要作用:
- 把Flux1模型文件"瘦身",降低显存需求
- 让低端显卡也能愉快地生成高质量图片
- 提高模型运行速度,就像给电脑换了个固态硬盘
适用人群:
- 显卡显存不够用的朋友(12GB以下)
- 想要更快生成图片的用户
- 使用30系列以上N卡的用户
2. 如何安装
2.1 前置条件检查
首先确保你的显卡是30系列以上(RTX 3060/3070/3080/3090/4060/4070/4080/4090等)
2.2 安装步骤
方法一:ComfyUI管理器安装(推荐)
- 打开ComfyUI界面
- 点击右侧的"Manager"按钮
- 选择"Install Custom Nodes"
- 搜索"ComfyUI-Flux1Quantize-MZ"
- 点击"Install"按钮
- 重启ComfyUI
方法二:手动安装
- 打开电脑的命令行工具(Windows按Win+R,输入cmd)
- 进入ComfyUI的custom_nodes文件夹
- 执行以下命令:
git clone https://github.com/MinusZoneAI/ComfyUI-Flux1Quantize-MZ.git
- 安装依赖包:
pip install git+https://github.com/IST-DASLab/marlin
- 重启ComfyUI
2.3 下载模型文件
你需要下载压缩后的Flux1模型文件:
- 国内用户:https://www.modelscope.cn/models/wailovet/flux1-quantize/resolve/master/flux1-dev-unet-marlin-int4.safetensors
- 国外用户:https://huggingface.co/MinusZoneAI/flux1-quantize/resolve/main/flux1-dev-unet-marlin-int4.safetensors
下载后放到:ComfyUI/models/unet/ 文件夹中
3. 节点详解
3.1 MZ_Flux1QuantizeUnetLoader 节点
这个节点就像一个"模型加载器",专门用来加载压缩过的Flux1模型。就好比你要看电影,需要先把电影文件放进播放器里一样。
3.1.1 节点参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | unet_name | 下拉选择 | flux1-dev-unet-marlin-int4.safetensors | 选择你要用的压缩模型文件,就像选择要播放的电影文件 | 指定要加载的量化UNET模型文件路径 | 从下拉菜单中选择你下载的模型文件 |
| 设备类型 | device | auto/cpu/cuda | auto | 选择用什么设备来运行模型,就像选择用台式机还是笔记本 | 指定模型运行的计算设备 | 一般选auto让系统自动选择最佳设备 |
| 数据类型 | dtype | auto/float16/float32 | auto | 选择数据精度,就像选择图片是高清还是标清 | 指定模型推理时使用的数据类型精度 | 显存够用选float16,不够用选auto |
3.2 MZ_Flux1QuantizeModelLoader 节点
这个节点是"全套模型加载器",不仅加载压缩的主模型,还包括文字理解和图片编码等全套组件。就像买电脑时的"全家桶套餐"。
3.2.1 节点参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型名称 | ckpt_name | 下拉选择 | flux1-dev-unet-marlin-int4.safetensors | 选择压缩后的完整模型包,就像选择游戏的完整安装包 | 指定完整的量化模型检查点文件 | 选择你下载的完整模型文件 |
| CLIP名称1 | clip_name1 | 下拉选择 | clip_l.safetensors | 选择第一个文字理解模块,就像选择翻译软件的英文包 | 指定第一个CLIP文本编码器模型 | 选择clip_l.safetensors文件 |
| CLIP名称2 | clip_name2 | 下拉选择 | t5xxl_fp8_e4m3fn.safetensors | 选择第二个文字理解模块,就像选择翻译软件的高级语言包 | 指定T5文本编码器模型 | 选择t5xxl相关的文件 |
| VAE名称 | vae_name | 下拉选择 | ae.safetensors | 选择图片编码解码器,就像选择图片格式转换器 | 指定VAE自动编码器模型 | 选择ae.safetensors文件 |
| 设备类型 | device | auto/cpu/cuda | auto | 选择运行设备,就像选择用哪个处理器 | 指定模型运行的计算设备 | 一般选auto自动选择 |
| 数据类型 | dtype | auto/float16/float32 | auto | 选择计算精度,就像选择计算器的小数位数 | 指定推理时的数据类型精度 | 显存充足选float16,不足选auto |
3.3 MZ_Flux1QuantizeSampler 节点
这个节点是"图片生成器",负责根据你的文字描述生成图片。就像一个听话的画家,你说什么它就画什么。
3.3.1 节点参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 模型 | model | 连接输入 | - | 连接上面加载的模型,就像把画笔给画家 | 输入已加载的扩散模型 | 从上面的加载器节点连线过来 |
| 正向提示词 | positive | 连接输入 | - | 连接你想要画的内容描述,就像给画家下指令 | 输入正向文本提示的编码 | 从CLIP文本编码器连线过来 |
| 负向提示词 | negative | 连接输入 | - | 连接你不想要的内容描述,就像告诉画家不要画什么 | 输入负向文本提示的编码 | 从CLIP文本编码器连线过来 |
| 潜在空间 | latent | 连接输入 | - | 连接图片的基础框架,就像给画家一张画布 | 输入潜在空间张量 | 从潜在空间生成器连线过来 |
| 采样器算法 | sampler_name | 下拉选择 | euler | 选择生成图片的算法,就像选择画画的笔法 | 指定采样算法类型 | 推荐euler或dpmpp_2m |
| 调度器 | scheduler | 下拉选择 | simple | 选择生成过程的节奏控制,就像选择画画的快慢 | 指定噪声调度器类型 | 推荐simple或normal |
| 生成步数 | steps | 数字输入 | 20 | 设置生成图片要画多少步,步数越多越精细但越慢 | 指定采样迭代步数 | 20-30步通常够用,质量要求高可以50步 |
| 引导强度 | cfg | 数字输入 | 7.0 | 设置模型听话程度,数值越高越听你的话但可能过头 | 指定分类器自由引导强度 | 建议3.5-7.0之间 |
| 采样器配置 | sampler_config | 连接输入 | - | 连接采样器的详细设置,就像给画家更详细的作画要求 | 输入采样器配置参数 | 通常可以留空使用默认设置 |
3.4 MZ_Flux1QuantizeTextEncode 节点
这个节点是"文字翻译器",把你写的中文或英文描述翻译成AI能理解的"机器语言"。就像给外国人说话需要翻译一样。
3.4.1 节点参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 文本内容 | text | 文本输入 | - | 输入你想要画的内容描述,就像给翻译说要翻译什么 | 输入需要编码的文本提示 | 输入"一只可爱的小猫在花园里玩耍" |
| CLIP模型 | clip | 连接输入 | - | 连接文字理解模块,就像选择用哪个翻译软件 | 输入CLIP文本编码器模型 | 从模型加载器连线过来 |
| 最大长度 | max_length | 数字输入 | 77 | 设置文字描述的最大长度,就像限制作文字数 | 指定文本编码的最大序列长度 | 一般保持默认77即可 |
| 截断方式 | truncation | True/False | True | 是否截断过长的文字,就像作文超字数了要删减 | 指定是否截断超长文本 | 建议保持True |
4. 使用技巧和建议
4.1 显存优化建议
低显存用户(8GB以下):
- 数据类型选择auto或float16
- 生成步数控制在20-25步
- 避免同时加载多个模型
中等显存用户(8-12GB):
- 可以选择float16获得更好质量
- 生成步数可以设置25-35步
- 可以适当提高图片分辨率
高显存用户(12GB以上):
- 可以选择float32获得最佳质量
- 生成步数可以设置35-50步
- 可以生成更高分辨率图片
4.2 提示词优化技巧
正向提示词建议:
- 使用具体的描述词汇
- 包含画面的主体、背景、光照、风格等
- 例如:"一只橙色的小猫,坐在绿色的草地上,阳光明媚,卡通风格,高质量"
负向提示词建议:
- 加入不想要的元素
- 例如:"模糊,低质量,变形,多余的手指,黑白"
4.3 参数调优建议
CFG值调节:
- 3.5-5.0:创意性强,可能偏离提示词
- 5.0-7.0:平衡创意和准确性(推荐)
- 7.0-10.0:严格按照提示词,可能过于僵硬
步数选择:
- 15-20步:快速预览
- 20-30步:日常使用(推荐)
- 30-50步:高质量输出
5. 常见问题解答
5.1 安装相关问题
Q:显示"找不到marlin模块"怎么办?
A:需要先安装marlin依赖包,在命令行执行:
pip install git+https://github.com/IST-DASLab/marlin
Q:我的显卡不是30系列,能用吗?
A:不行,这个插件只支持30系列以上的N卡,因为需要特殊的硬件支持。
5.2 使用相关问题
Q:生成的图片质量很差怎么办?
A:可能原因:
- 提示词不够具体
- CFG值设置不当
- 步数太少
- 模型文件损坏
Q:生成速度很慢怎么办?
A:优化方法:
- 减少生成步数
- 降低图片分辨率
- 使用float16数据类型
- 关闭其他占用显存的程序
Q:显存不足怎么办?
A:解决方法:
- 选择auto数据类型
- 减少批量生成数量
- 降低图片分辨率
- 重启ComfyUI释放显存
5.3 模型相关问题
Q:模型下载很慢怎么办?
A:建议使用国内镜像:
- ModelScope:https://www.modelscope.cn/models/wailovet/flux1-quantize/
- 或使用下载工具如IDM、迅雷等
Q:模型文件放在哪里?
A:压缩模型文件应该放在:
ComfyUI/models/unet/文件夹- CLIP文件放在:
ComfyUI/models/clip/ - VAE文件放在:
ComfyUI/models/vae/
6. 工作流程示例
6.1 基础工作流程
- MZ_Flux1QuantizeModelLoader → 加载所有需要的模型
- MZ_Flux1QuantizeTextEncode → 编码正向提示词
- MZ_Flux1QuantizeTextEncode → 编码负向提示词
- Empty Latent Image → 创建空白画布
- MZ_Flux1QuantizeSampler → 生成图片
- VAE Decode → 解码成最终图片
- Save Image → 保存图片
6.2 推荐设置组合
快速生成设置:
- 步数:20
- CFG:5.0
- 采样器:euler
- 调度器:simple
高质量设置:
- 步数:30
- CFG:7.0
- 采样器:dpmpp_2m
- 调度器:normal
创意探索设置:
- 步数:25
- CFG:3.5
- 采样器:euler
- 调度器:simple
7. 总结
ComfyUI-Flux1Quantize-MZ插件是一个非常实用的工具,它让我们能够在有限的硬件条件下体验到Flux1模型的强大能力。通过合理的参数设置和优化,即使是中低端显卡用户也能生成高质量的AI图片。
记住最重要的几点:
- 确保硬件兼容(30系列以上N卡)
- 正确安装依赖包
- 下载正确的模型文件
- 根据显存情况调整参数
- 多尝试不同的提示词和参数组合
希望这个教程能帮助你顺利使用这个插件,创作出令人满意的AI艺术作品!