FramePack 由ControlNet之父张吕敏团队研发,是一种用于逐步生成视频的下一帧(下一帧部分)预测神经网络结构。FramePack 将输入上下文压缩到固定长度,以便生成工作量与视频长度无关。即使在笔记本电脑 GPU 上,FramePack 也能用 13B 模型处理非常多的帧。FramePack 可以用比图像扩散训练更大的批处理大小进行训练。
由于是逐帧(或逐段)预测,您将直接看到生成的帧,因此在整个视频生成之前,您会获得大量的视觉反馈。
针对视频生成中的漂移现象(质量随时长衰减),FramePack独创双向抗漂移采样算法。该方法在生成当前帧时既参考最近帧,又回溯初始帧特征,通过"倒置反漂移采样"将误差累积降低72%,使60秒长视频的首尾质量差异控制在5%以内。
二、部署流程
python:3.10(建议使用conda创建虚拟环境)
环境 | 版本 |
---|---|
Python | =3.10 |
Ubtuntu | =22.4.0 |
CUDA | =12.6 |
1.创建虚拟环境
1.1 安装 Miniconda
步骤 1:更新系统
首先,更新您的系统软件包:
sudo apt update
sudo apt upgrade -y
步骤 2:下载 Miniconda 安装脚本
访问 Miniconda 的官方网站或使用以下命令直接下载最新版本的安装脚本(以 Python 3 为例):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
步骤 3:验证安装脚本的完整性(可选)
下载 SHA256 校验和文件并验证安装包的完整性:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.sha256
sha256sum Miniconda3-latest-Linux-x86_64.sh
比较输出的校验和与.sha256 文件中的值是否一致,确保文件未被篡改。
步骤 4:运行安装脚本
为安装脚本添加执行权限:
chmod +x Miniconda3-latest-Linux-x86_64.sh
运行安装脚本:
./Miniconda3-latest-Linux-x86_64.sh
步骤 5:按照提示完成安装
安装过程中,您需要:
阅读许可协议 :按 Enter 键逐页阅读,或者按 Q 退出阅读。
接受许可协议 :输入 yes 并按 Enter。
选择安装路径 :默认路径为/home/您的用户名/miniconda3,直接按 Enter 即可,或输入自定义路径。
是否初始化 Miniconda :输入 yes 将 Miniconda 添加到您的 PATH 环境变量中。
步骤 6:激活 Miniconda 环境
安装完成后,使环境变量生效:
source ~/.bashrc
步骤 7:验证安装是否成功
检查 conda 版本:
conda --version
步骤 8:更新 conda(推荐)
为了获得最新功能和修复,更新 conda:
conda update conda
1.2.创建虚拟环境
conda create -n FramePack python=3.10
2.下载 PyTorch
#进入虚拟环境
conda activate FramePack
#下载pytorch,根据自己的cuda选择对应的torch版本,我这里是cuda-12.6
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
3.克隆项目
git clone https://github.com/lllyasviel/FramePack.git
cd FramePack
2.安装项目所需依赖
pip install -r requirements.txt
三、启动
当全部依赖安装好后,进入/FramePack路径,启动命令为:
python demo_gradio.py
项目所需的模型会在第一次启动时自动下载,请保持网络畅通(需保证网络能正常连接hugging face、github等网站)
下载完整后访问项目给出的提示连接即可,例如:127.0.0.1:8080
该项目支持 PyTorch 注意力机制、xformers、flash-attn、sage-attention。默认情况下,它将仅使用 PyTorch 注意力机制。如果你知道如何安装,可以安装这些注意力内核。
例如,要在 Linux 上安装 sage-attention:
pip install sageattention==1.0.6
不过,强烈建议先尝试不使用 sage-attention,因为它会影响结果,虽然影响很小。