当前位置: 欣欣网 > 码农

Open-Sora计划:北大与兔展联合发起复现Sora的项目,正在请求开源社区帮助

2024-03-03码农

项目简介

Open-Sora计划是由北京大学与兔展AIGC联合实验室发起的开源项目,旨在复现OpenAI的Sora视频到文本模型。项目目前处于初级阶段,缺乏资源完全训练模型。因此,团队寻求开源社区的支持,以增加更多模块并收集资源进行训练。该计划希望通过社区的力量,逐步完善并快速迭代当前版本,以接近最终目标。项目欢迎所有形式的贡献,特别是代码提交。

扫码加入交流群

获得更多技术支持和交流

(请注明自己的职业)

任务清单

· 支持可变的纵横比、分辨率、时长,在DiT上进行训练

· 动态遮罩输入

· 在嵌入上添加类条件

· 采样脚本

· 添加位置插值

· 在更高分辨率上微调Video-VQVAE

· 融合SiT

· 融入更多条件

· 使用更多数据和更多GPU进行训练

要求和安装

· Python >= 3.8

· Pytorch >= 1.13.1

· CUDA Version >= 11.7

· 安装所需要的包:

git clone https://github.com/PKU-YuanGroup/Open-Sora-Plancd Open-Sora-Planconda create -n opensora python=3.8 -yconda activate opensorapip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117pip install -r requirements.txtcd VideoGPTpip install -e .cd ..

数据集

用UCF-101数据集来测试代码。为了下载UCF-101数据集,你可以在https://www.crcv.ucf.edu/data/UCF101.php下载所需的文件。代码假设有一个名为ucf101的目录,其结构如下:

UCF-101/ ApplyEyeMakeup/ v1.avi ... ... YoYo/ v1.avi ...

Video-VQVAE

·训练

参考原始存储库。使用 scripts/train_vqvae.py 脚本来训练视频-VQVAE。执行 python scripts/train_vqvae.py -h 可以查看所有可用的训练设置信息。下面列出了一些更相关的设置及其默认值。

cd VideoGPT

Q-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 <路径>:指向hdf5文件或包含带有视频子目录的train和test文件夹的目录的路径

--resolution 128:训练时的空间分辨率

--sequence_length 16:时间分辨率,或视频剪辑长度

重构

python VideoGPT/rec_video.py --video-path "assets/origin_video_0.mp4" --rec-path "rec_video_0.mp4" --num-frames 500 --sample-rate 1

python VideoGPT/rec_video.py --video-path "assets/origin_video_1.mp4" --rec-path "rec_video_1.mp4" --resolution 196 --num-frames 600 --sample-rate 1

重构视频如下:

视频DiT

cd DiTtorchrun --nproc_per_node=8 train.py \ --model DiT-XL/122 --pt-ckpt DiT-XL-2-256x256.pt \ --vae ucf101_stride4x4x4 \ --data-path /remote-home/yeyang/UCF-101 --num- classes 101 \ --sample-rate 2 --num-frames 8 --max-image-size 128 --clip-grad-norm 1 \ --epochs 14000 --global-batch-size 256 --lr 1e-4 \ --ckpt-every 1000 --log-every 1000

项目链接

https://github.com/PKU-YuanGroup/Open-Sora-Plan

关注「 开源AI项目落地 」公众号