open-sora_pytorch视频生成算法模型

Open-Sora

论文

video-generation-models-as-world-simulators

模型结构

该模型为基于Transformer的视频生成模型,包含Video Encoder-Decoder用于视频/图像的压缩/恢复,Transformer-based Latent Stable Diffusion用于扩散/恢复,以及Conditioning用于生成对训练视频的条件(这里指文本描述)。

算法原理

该算法通过在隐空间使用Transformer模型对视频进行扩散/反扩散学习视频的分布。

环境配置

Docker(方法一)

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-centos7.6-dtk23.10.1-py38

docker run --shm-size 10g --network=host --name=opensora --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install flash_attn-2.0.4_torch2.1_dtk2310-cp38-cp38-linux_x86_64.whl  (whl.zip文件中)

pip install triton-2.1.0%2Bgit34f8189.abi0.dtk2310-cp38-cp38-manylinux2014_x86_64.whl (开发者社区下载)

cd xformers && pip install xformers==0.0.23 --no-deps && bash patch_xformers.rocm.sh  (whl.zip文件中)

pip install -r requirements.txt

pip install .

Dockerfile(方法二)

# 需要在对应的目录下
docker build -t <IMAGE_NAME>:<TAG> .

docker run --shm-size 10g --network=host --name=opensora --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install flash_attn-2.0.4_torch2.1_dtk2310-cp38-cp38-linux_x86_64.whl  (whl.zip文件中)

pip install triton-2.1.0%2Bgit34f8189.abi0.dtk2310-cp38-cp38-manylinux2014_x86_64.whl (开发者社区下载)

cd xformers && pip install xformers==0.0.23 --no-deps && bash patch_xformers.rocm.sh  (whl.zip文件中)

pip install -r requirements.txt

pip install .

Anaconda (方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/

DTK驱动:dtk23.10.1
python:python3.8
torch:2.1.0
torchvision:0.16.0
triton:2.1.0
apex:0.1

Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应

2、其它非特殊库参照requirements.txt安装

pip install flash_attn-2.0.4_torch2.1_dtk2310-cp38-cp38-linux_x86_64.whl  (whl.zip文件中)

cd xformers && pip install xformers==0.0.23 --no-deps && bash patch_xformers.rocm.sh  (whl.zip文件中)

pip install -r requirements.txt

pip install .

数据集

完整数据集下载:https://drive.google.com/drive/folders/154S6raNg9NpDGQRlRhhAaYcAx5xq1Ok8

可使用下列数据用于快速验证

OpenDataLab 引领AI大模型时代的开放数据平台 (ImageNet)

UCF101 – Action Recognition Data Set – Center for Research in Computer Vision (UCF101)

链接:百度网盘 请输入提取码 提取码:kwai (mini数据集)

数据结构

UCF-101/
├── ApplyEyeMakeup
│   ├── v_ApplyEyeMakeup_g01_c01.avi
│   ├── v_ApplyEyeMakeup_g01_c02.avi
│   ├── v_ApplyEyeMakeup_g01_c03.avi
│   ├── ...

使用脚本对数据进行处理并获取相应的csv文件

# ImageNet
python -m tools.datasets.convert_dataset imagenet IMAGENET_FOLDER --split train

# UCF101
python -m tools.datasets.convert_dataset ucf101 UCF101_FOLDER --split videos (如:ApplyEyeMakeup)

训练

敬请期待!

推理

模型下载

ResoluionData#iterationsBatch SizeGPU days (H800)URL
16×256×256366K80k8×64117https://huggingface.co/hpcai-tech/Open-Sora/blob/main/OpenSora-v1-16x256x256.pth
16×256×25620K HQ24k8×6445https://huggingface.co/hpcai-tech/Open-Sora/blob/main/OpenSora-v1-HQ-16x256x256.pth
16×512×51220K HQ20k2×6435https://huggingface.co/hpcai-tech/Open-Sora/blob/main/OpenSora-v1-HQ-16x512x512.pth

https://huggingface.co/DeepFloyd/t5-v1_1-xxl/tree/main (T5)

pretrained_models/
└── t5_ckpts
    └── t5-v1_1-xxl
        ├── config.json
        ├── pytorch_model-00001-of-00002.bin
        ├── pytorch_model-00002-of-00002.bin
        ├── pytorch_model.bin.index.json
        ├── special_tokens_map.json
        ├── spiece.model
        └── tokenizer_config.json

models/
├── OpenSora-v1-HQ-16x256x256.pth
└── ...

注意:可以使用https://hf-mirror.com加速下载相应的模型权重。

命令行

# Sample 16x256x256 (5s/sample) 显存 ~32G
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path ./path/to/your/ckpt.pth

# Sample 16x512x512 (20s/sample, 100 time steps) 显存 > 32G
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x512x512.py --ckpt-path ./path/to/your/ckpt.pth

result

模型prompt结果
16×256×256assets/texts/t2v_samples.txt:1

16×256×256assets/texts/t2v_samples.txt:2

精度

应用场景

算法类别

视频生成

热点应用行业

媒体,科研,教育

源码仓库及问题反馈

参考资料

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值