Pyramid-Flow 是一种基于流匹配的训练高效自回归视频生成方法。该方法仅在开源数据集上进行训练,能够生成高质量的10秒钟768p分辨率、24帧每秒的视频,并支持从图像到视频的生成。
Github地址: https://github.com/jy0205/Pyramid-Flow
HuggingFace: https://huggingface.co/spaces/Pyramid-Flow/pyramid-flow
本文记录inference环境的搭建,采用:
- os:
ubuntu 22.04
- python
3.8.10
, - gpu:
nvidia 3090: 24g
代码及依赖
首先clone代码到本地
git clone https://github.com/jy0205/Pyramid-Flow.git
进入代码目录
cd Pyramid-Flow
通过conda
创建一个全新的python
环境
conda create -n pyramid python==3.8.10
# 激活环境
conda activate pyramid
这里和repo作者给出的版本保持一致,笔者尝试过python 3.11
但再安装依赖时遇到一些问题.
安装依赖
安装依赖可以使用repo中的requirements.txt
pip install -r requirements.txt
如果安装较慢可以使用阿里云或者清华mirror.
使用这种方式也可能存在pip需要不断的resolve依赖库的兼容版本问题(requirements.txt中有很多依赖没有指定版本),造成安装很慢,经过测试发现如果逐个安装,效果可以接受,可以用下面的bash进行安装
#!/bin/bash# 更新 pip
python -m pip install --upgrade pip# 安装指定版本的包
pip install wheel
pip install torch==2.1.2
pip install torchvision==0.16.2
pip install transformers==4.39.3
pip install accelerate==0.30.0
pip install 'diffusers>=0.30.1'
pip install numpy==1.24.4
pip install einops
pip install ftfy
pip install ipython
pip install contexttimer
pip install opencv-python-headless==4.10.0.84
pip install imageio==2.33.1
pip install imageio-ffmpeg==0.5.1
pip install packaging
pip install pandas
pip install plotly
pip install pre-commit
pip install python-magic
pip install scikit-image
pip install sentencepiece
pip install spacy==3.7.5
pip install streamlit
pip install timm==0.6.12
pip install tqdm
pip install torchmetrics
pip install tiktoken
pip install jsonlines
pip install tensorboardXecho "所有依赖项已安装完毕。"
获取模型权重文件
模型的权重文件在huggingface,可以通过python代码获取
from huggingface_hub import snapshot_downloadmodel_path = '/path-to-save' # The local directory to save downloaded checkpoint
snapshot_download("rain1011/pyramid-flow-sd3", local_dir=model_path, local_dir_use_symlinks=False, repo_type='model')
如果有下载问题,也可以留言索取阿里云盘的文件共享.
测试
安装完成后,可以使用repo中的jupyter notebook进行测试
笔者分别测试了text-to-video
和 image-to-video
的场景,因为vram只有24g,768p
的视频生成会有OOM
的问题,因此仅测试了384p
(640x384)场景.
text to video
text_to_video_sample
image to video
image_to_video_sample
总结
测试结果和repo中给出的demo接近,好的提示词很关键. 根据作者在issue中透露,新的权重正在训练中,可以期待.