项目简介
本项目希望通过开源社区的力量复现Sora,由北大-兔展AIGC联合实验室共同发起,当前我们资源有限仅搭建了基础架构,无法进行完整训练,希望通过开源社区逐步增加模块并筹集资源进行训练,当前版本离目标差距巨大,仍需持续完善和快速迭代,欢迎Pull request!!!
项目阶段:
- 基本的
- 
设置代码库并在景观数据集上训练无条件模型。 
- 
训练可提高分辨率和持续时间的模型。 
- 扩展
- 
在景观数据集上进行text2video实验。 
- 
在 video2text 数据集上训练 1080p 模型。 
- 
具有更多条件的控制模型。 
- 
在 video2text 数据集上训练 1080p 模型。 
- 
具有更多条件的控制模型。 
仓库结构

要求和安装
推荐要求如下。
- 
Python >= 3.8 
- 
Pytorch >= 1.13.1 
- 
CUDA 版本 >= 11.7 
- 
安装所需的包: 

用法
数据集
Video-VQVAE (VideoGPT)
训练

请参阅原始存储库。使用 scripts/train_vqvae.py 脚本训练 Video-VQVAE。执行 python scripts/train_vqvae.py -h 以获取有关所有可用训练设置的信息。下面列出了更多相关设置的子集以及默认值。
VQ-VAE 特定设置
- 
--embedding_dim :码本嵌入的维数 
- 
--n_codes 2048 :码本中的代码数量 
- 
--n_hiddens 240 :残差块中隐藏特征的数量 
- 
--n_res_layers 4 :剩余块的数量 
- 
--downsample 4 4 4 :编码器的 T H W 下采样步长 
训练设置
- 
--gpus 2 :分布式训练的GPU数量 
- 
--sync_batchnorm :使用 > 1 GPU 时使用 SyncBatchNorm 而不是 BatchNorm3d 
- 
--gradient_clip_val 1 :训练的梯度裁剪阈值 
- 
--batch_size 16 :每个 GPU 的批量大小 
- 
--num_workers 8 :每个 DataLoader 的工作人员数量 
数据集设置
- 
--data_path <path> : hdf5 文件或包含 train 和 test 文件夹以及视频子目录的文件夹的路径 
- 
--resolution 128 :训练的空间分辨率 
- 
--sequence_length 16 :时间分辨率,或视频剪辑长度 
重建

项目链接


