综合介绍
CFG-Zero-star 是一个开源项目,由 Weichen Fan 和南洋理工大学 S-Lab 团队开发。它专注于改进流匹配模型中的分类器自由引导(CFG)技术,通过优化引导策略和零初始化方法,提升图像和视频生成的质量。这个工具支持文本到图像和文本到视频的生成任务,能适配 Stable Diffusion 3、SD3.5、Wan-2.1 等模型。代码完全开放,基于 Apache-2.0 许可证,允许学术研究和商业使用。项目提供在线演示和详细文档,适合开发者、研究人员或 AI 爱好者使用。
功能列表
- 改进 CFG 技术:优化分类器自由引导,提升生成内容的质量和文本匹配度。
- 支持图像生成:基于文本生成高质量图像,兼容 Stable Diffusion 3 和 SD3.5。
- 支持视频生成:生成动态视频,适配 Wan-2.1 等视频模型。
- 零初始化优化:在生成初期归零预测,改善流匹配模型的样本质量。
- 开源代码:提供完整代码,用户可自由下载、修改或贡献。
- Gradio 演示界面:内置在线测试工具,无需复杂配置即可体验。
- 动态参数调整:支持调整引导强度和推理步数,满足不同需求。
- 集成第三方支持:支持 ComfyUI-KJNodes 和 Wan2.1GP 扩展功能。
使用帮助
CFG-Zero-star 是一个 GitHub 上的开源项目,需要用户自行配置环境并运行代码。以下是详细的安装和使用指南,帮助你快速上手。
安装流程
- 创建虚拟环境
- 安装 Anaconda(如果没有,从 https://www.anaconda.com/ 下载)。
- 在终端运行以下命令创建环境:
conda create -n CFG_Zero_Star python=3.10
- 激活环境:
conda activate CFG_Zero_Star
- 安装 PyTorch
- 根据你的 GPU CUDA 版本安装 PyTorch。官方推荐 CUDA 12.4:
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia
- 检查 CUDA 版本兼容性,见 https://docs.nvidia.com/deploy/cuda-compatibility/。
- 无 GPU 的用户可安装 CPU 版本:
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 -c pytorch
- 根据你的 GPU CUDA 版本安装 PyTorch。官方推荐 CUDA 12.4:
- 下载项目代码
- 用 Git 克隆仓库:
git clone https://github.com/WeichenFan/CFG-Zero-star.git
- 进入目录:
cd CFG-Zero-star
- 用 Git 克隆仓库:
- 安装依赖
- 运行命令安装所需库:
pip install -r requirements.txt
- 如果缺少
requirements.txt
,手动安装核心依赖:pip install torch diffusers gradio numpy imageio
- 运行命令安装所需库:
- 准备模型文件
- 下载 Stable Diffusion 3 或 SD3.5 模型权重,从 https://huggingface.co/stabilityai/stable-diffusion-3-medium-diffusers 获取。
- 将模型文件放入项目目录,或在代码中指定路径。
操作主要功能
CFG-Zero-star 的核心功能是生成图像和视频。以下是具体步骤。
生成图像
- 配置参数
- 打开
demo.py
,设置提示词:prompt = "一片星空下的森林"
- 启用 CFG-Zero-star 优化:
use_cfg_zero_star = True
- 打开
- 运行生成
- 在终端输入:
python demo.py
- 生成的图像会显示或保存到指定路径。
- 在终端输入:
- 调整参数
guidance_scale
:控制文本引导强度,默认 4.0,可设 1-20。num_inference_steps
:推理步数,默认 28,增加可提升质量。
生成视频
- 选择模型
- 在
demo.py
中设置:model_name = "wan-t2v" prompt = "一条河流穿过山谷"
- 在
- 运行生成
- 执行:
python demo.py
- 视频保存为 MP4 格式,默认路径
generated_videos/{seed}_CFG-Zero-Star.mp4
。
- 执行:
- 调整参数
height
和width
:设置分辨率,默认 480x832。num_frames
:帧数,默认 81。fps
:帧率,默认 16。
使用 Gradio 演示
- 启动界面
- 运行:
python demo.py
- 浏览器访问 http://127.0.0.1:7860。
- 运行:
- 操作步骤
- 输入提示词,选择模型(SD3、SD3.5 或 Wan-2.1)。
- 勾选
Use CFG Zero Star
,调整参数后提交。 - 结果会在界面显示。
集成第三方工具
- ComfyUI-KJNodes
- 下载 https://github.com/kijai/ComfyUI-KJNodes,按其说明安装。
- 在 ComfyUI 中加载 CFG-Zero-star 节点。
- Wan2.1GP
- 下载 https://github.com/deepbeepmeep/Wan2GP,配置后使用。
注意事项
- 生成需要大量计算资源,推荐至少 8GB 显存的 NVIDIA GPU。
- 首次运行需下载模型,保持网络畅通。
- 项目遵循 Apache-2.0 许可证,禁止生成色情、暴力等内容。
通过这些步骤,你可以用 CFG-Zero-star 生成高质量图像和视频。它的操作需要一定技术基础,但文档和演示界面降低了使用门槛。
应用场景
- 学术研究
研究人员可以用它测试流匹配模型的效果,分析 CFG 和零初始化的改进,适用于计算机视觉领域。 - 内容创作
创作者可以用文本生成图像或视频,比如“飞翔的龙”,用于艺术设计或短视频素材。 - 模型开发
开发者可以基于此工具优化自己的生成模型,调试参数提升生成质量。
QA
- CFG-Zero-star 解决了什么问题?
它优化了流匹配模型中的 CFG 技术,提高了生成图像和视频的质量及文本匹配度。 - 支持哪些模型?
支持 Stable Diffusion 3、SD3.5 和 Wan-2.1 等模型。 - 零初始化有什么用?
在生成初期归零预测,帮助未充分训练的模型提升样本质量。 - 如何判断模型是否训练不足?
如果启用零初始化后效果显著提升,说明模型可能未完全训练。