Open-Sora/docs/zh_CN
Zangwei Zheng ac63712ec7 fix image
2025-03-05 10:31:09 +08:00
..
acceleration.md mark v1.1 for acceleration.md 2024-06-17 13:46:12 +00:00
commands.md Added missing content in the docs && fixed i18n 2024-03-20 17:11:23 +08:00
datasets.md Added missing content in the docs && fixed i18n 2024-03-20 17:11:23 +08:00
README.md fix image 2025-03-05 10:31:09 +08:00
READMEv1.1.md fix image 2025-03-05 10:31:09 +08:00
report_v1.md remove images 2025-03-05 10:27:32 +08:00
report_v2.md remove images 2025-03-05 10:27:32 +08:00
report_v3.md remove images 2025-03-05 10:27:32 +08:00
report_v4.md open-sora v1.3 code upload (#786) 2025-02-20 16:50:24 +08:00
structure.md open-sora v1.3 code upload (#786) 2025-02-20 16:50:24 +08:00
vae.md Update vae.md 2024-06-18 04:50:52 +08:00

Open-Sora: 让所有人都能轻松制作高效视频

我们设计并实施了Open-Sora这是一项致力于高效制作高质量视频的计划。我们希望让所有人都能使用模型、工具和所有细节。通过采用开源原则Open-Sora 不仅使高级视频生成技术的使用变得民主化,而且还提供了一个简化且用户友好的平台,简化了视频生成的复杂性。借助 Open-Sora我们的目标是在内容创作领域促进创新、创造力和包容性。

[中文文档] [潞晨云|OpenSora镜像|视频教程]

📰 资讯

[2024.01.20] 🔥 我们发布了 Open-Sora 1.3。通过升级的VAE和Transformer架构我们生成的视频质量得到了大幅提升 🚀[模型权重] [技术报告] [演示]

🎥 Latest Demo

🔥 您可以在HuggingFace上的 🤗 Gradio应用程序上体验Open-Sora. 我们的画廊中提供了更多示例.

5s 720×1280 5s 720×1280 5s 720×1280
OpenSora 1.2 演示
4s 720×1280 4s 720×1280 4s 720×1280
OpenSora 1.1 演示
2秒 240×426 2秒 240×426
2秒 426×240 4秒 480×854
16秒 320×320 16秒 224×448 2秒 426×240
OpenSora 1.0 Demo
2秒 512×512 2秒 512×512 2秒 512×512
森林地区宁静的夜景。 [...] 该视频是一段延时摄影,捕捉了白天到夜晚的转变,湖泊和森林始终作为背景。 无人机拍摄的镜头捕捉到了海岸悬崖的壮丽美景,[...] 海水轻轻地拍打着岩石底部和紧贴悬崖顶部的绿色植物。 瀑布从悬崖上倾泻而下,流入宁静的湖泊,气势磅礴。[...] 摄像机角度提供了瀑布的鸟瞰图。
夜晚繁华的城市街道,充满了汽车前灯的光芒和路灯的氛围光。 [...] 向日葵田的生机勃勃,美不胜收。向日葵整齐排列,给人一种秩序感和对称感。 [...] 宁静的水下场景,一只海龟在珊瑚礁中游动。这只海龟的壳呈绿褐色 [...]

视频经过降采样以.gif用于显示。单击查看原始视频。提示经过修剪以用于显示请参阅此处查看完整提示。

🔆 新功能/更新

  • 📍 Open-Sora 1.3 已发布。模型权重可在此处获取。更多详细信息请参见我们的**版本报告 v1.3**。
  • 升级的模型架构,提供更强的性能和效率。
  • 引入更多高质量训练数据,显著提升整体效果。
  • 📍 Open-Sora 1.2 发布。模型权重可在此处查看。有关更多详细信息,请参阅我们的**技术报告 v1.2** 。
  • 📍 Open-Sora 1.1发布。模型权重可在此处获得。它针对0s~15s、144p 到 720p、各种宽高比的视频进行训练。有关更多讨论,请参阅我们的**技术报告 v1.1** 。
  • 🔧 数据处理流程 v1.1发布,提供从原始视频到(文本,视频片段)对的自动处理流程,包括场景剪切$\rightarrow$过滤美学、光流、OCR 等)$\rightarrow$字幕$\rightarrow$管理。使用此工具,您可以轻松构建视频数据集。
  • 改进的 ST-DiT 架构包括 rope 位置编码、qk 范数、更长的文本长度等。
  • 支持任意分辨率、纵横比和时长(包括图像)的训练。
  • 支持图像和视频调节以及视频编辑,从而支持动画图像,连接视频等。
  • 📍 Open-Sora 1.0发布。模型权重可在此处获得。仅使用 400K 视频片段和 200 个 H800 天(相比稳定视频扩散中的 152M 样本),我们就能生成 2s 512×512 视频。有关更多讨论,请参阅我们的**技术报告 v1.0**。
  • 从图像扩散模型到视频扩散模型的三阶段训练。我们为每个阶段提供权重。
  • 支持训练加速,包括加速 Transformer、更快的 T5 和 VAE 以及序列并行。Open-Sora 在 64x512x512 视频上训练时可将训练速度提高55%。详细信息位于训练加速.md
  • 🔧 数据预处理流程 v1.0,包括 下载, 视频剪辑, 和 字幕 工具. 我们的数据收集计划可在 数据集.md中找到.
查看更多

我们发现VideoGPT的 VQ-VAE质量较低因此采用了Stability-AI中的更好的 VAE 。我们还发现时间维度的修补会降低质量。有关更多讨论,请参阅我们的**技术报告v1.0**。 我们研究了不同的架构,包括 DiT、Latte 和我们提出的 STDiT。我们的STDiT在质量和速度之间实现了更好的平衡。请参阅我们的 **技术报告v1.0**以了解更多讨论。 支持剪辑和T5文本调节。 通过将图像视为单帧视频,我们的项目支持在图像和视频上训练 DiT例如 ImageNet 和 UCF101。有关更多说明请参阅commands.md 支持使用DiT, Latte, 和 PixArt.的官方权重进行推理。 重构代码库。查看structure.md以了解项目结构以及如何使用配置文件。

按优先级排序的 TODO 列表

查看更多
  • 训练视频 VAE 并使我们的模型适应新的 VAE
  • 缩放模型参数和数据集大小
  • 纳入更好的调度程序(整流流程)
  • 评估流程
  • 完成数据处理流程(包括密集光流、美学评分、文本-图像相似度等)。有关更多信息,请参阅数据集
  • 支持图像和视频调节
  • 支持可变的纵横比、分辨率和持续时间

内容

下面列出了其他有用的文档和链接。

安装

从源头安装

对于 CUDA 12.1,您可以使用以下命令安装依赖项。否则,请参阅安装以获取有关不同 cuda 版本的更多说明以及数据预处理的其他依赖项。

# create a virtual env and activate (conda as an example)
conda create -n opensora python=3.9
conda activate opensora

# install torch, torchvision and xformers
pip install -r requirements/requirements-cu121.txt

# download the repo
git clone https://github.com/hpcaitech/Open-Sora
cd Open-Sora

# the default installation is for inference only
pip install -v . # for development mode, `pip install -v -e .`


(Optional, recommended for fast speed, especially for training) To enable `layernorm_kernel` and `flash_attn`, you need to install `apex` and `flash-attn` with the following commands.

```bash
# install flash attention
# set enable_flash_attn=False in config to disable flash attention
pip install packaging ninja
pip install flash-attn --no-build-isolation

# install apex
# set enable_layernorm_kernel=False in config to disable apex
pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" git+https://github.com/NVIDIA/apex.git

使用Docker

运行以下命令从提供的Dockerfile 构建docker 镜像。

docker build -t opensora .

运行以下命令以交互模式启动docker容器。

docker run -ti --gpus all -v .:/workspace/Open-Sora opensora

模型权重

Open-Sora 1.3 模型权重

分辨率 模型大小 数据 迭代次数 批次大小 网址
Diffusion 1.1B 30M 70k 动态大小 🔗
VAE 259M 3M 1M 8 🔗

请参阅我们的 **report 1.3**以了解更多信息。

Open-Sora 1.2 模型权重

分辨率 模型大小 数据 迭代次数 批次大小 网址
Diffusion 1.1B 30M 70k 动态大小 🔗
VAE 384M 3M 1M 8 🔗

请参阅我们的 **report 1.2**以了解更多信息。

Open-Sora 1.1 模型权重

查看更多
分辨率 M Data #iterations Batch Size URL
mainly 144p & 240p 700M 10M videos + 2M images 100k dynamic 🔗
144p to 720p 700M 500K HQ videos + 1M images 4k dynamic 🔗

请参阅我们的 报告 1.1 以了解更多信息。

⚠️ 局限性: 此版本包含已知问题,我们将在下一版本中修复这些问题(因为我们为下一版本节省了计算资源)。此外,由于此问题,视频生成可能会长时间失败,高分辨率将产生嘈杂的结果。

Open-Sora 1.0 模型权重

查看更多

| 分辨率 | 模型大小 | 数据 | 迭代次数 | 批量大小 | GPU 天数 (H800) | 网址 | ---------- | ---------- | ------ | ----------- | ---------- | --------------- | | 16×512×512 | 700M | 20K HQ | 20k | 2×64 | 35 | 🔗 | | 16×256×256 | 700M | 20K HQ | 24k | 8×64 | 45 | 🔗 | | 16×256×256 | 700M | 366K | 80k | 8×64 | 117 | 🔗 |

训练流程: 16x256x256 \rightarrow 16x256x256 高清 \rightarrow 16x512x512 高质量.

我们的模型权重部分由 PixArt-α初始化参数数量为724M.更多信息请参阅 技术报告v1.0。数据集相关信息请参阅数据集文件. HQ 表示高质量.

⚠️ 局限性: 我们的模型是在有限的预算下训练的。质量和文本对齐相对较差。该模型表现不佳,特别是在生成人类时,无法遵循详细的说明。我们正在努力提高质量和文本对齐。

Gradio演示

🔥 您可以在Hugging Face 上的🤗 Gradio 应用程序上在线体验Open-Sora。【由于GPU资源不足已失效】

本地部署

如果您想在本地部署 gradio我们还在这个存储库中提供了一个Gradio 应用程序 ,您可以使用以下命令启动一个交互式 Web 应用程序来体验使用 Open-Sora 生成视频。

pip install gradio spaces
python gradio/app.py

这将在您的本地主机上启动 Gradio 应用程序。如果您想了解有关 Gradio 应用程序的更多信息,可以参考Gradio README

要启用提示增强和其他语言输入例如中文输入您需要OPENAI_API_KEY在环境中进行设置。查看OpenAI的文档以获取您的 API 密钥。

export OPENAI_API_KEY=YOUR_API_KEY

入门

在 Gradio 应用程序中,基本选项如下:

Gradio Demo

生成视频最简单的方式是输入文本提示,然后点击“生成视频”按钮(如果找不到,请向下滚动)。生成的视频将显示在右侧面板中。勾选“使用 GPT4o 增强提示”将使用 GPT-4o 来细化提示,而“随机提示”按钮将由 GPT-4o 为您生成随机提示。由于 OpenAI 的 API 限制,提示细化结果具有一定的随机性。

然后,你可以选择生成视频的分辨率时长长宽比。不同的分辨率和视频长度会影响视频生成速度。在 140G H200 GPU 上,生成速度和峰值内存使用量为:

Image 49 帧 65 帧 81 帧 97 帧 113 帧
360p 10s, 23G 16s, 23G 21s, 24G 27s, 24G 33s, 25G 39s, 25G
720p 13s, 24G 61s, 28G 83s, 29G 106s, 31G 130s, 33G 157s, 35G

注意,除了文本转视频,你还可以使用图片转视频。你可以上传图片,然后点击“生成视频”按钮,生成以图片为第一帧的视频。或者,你可以填写文本提示,然后点击“生成图片”按钮,根据文本提示生成图片,然后点击“生成视频”按钮,根据同一模型生成的图片生成视频。

Gradio Demo

然后您可以指定更多选项,包括“运动强度”、“美学”和“相机运动”。如果未选中“启用”或选择“无”,则不会将信息传递给模型。否则,模型将生成具有指定运动强度、美学分数和相机运动的视频。

对于美学分数,我们建议使用'excellent'。对于运动强度,较小的值将导致更平滑但动态性较差的视频,而较大的值将导致更动态但可能更模糊的视频。因此,您可以尝试不使用它,然后根据生成的视频进行调整。对于相机运动,有时模型无法很好地遵循指令,我们正在努力改进它。

您还可以调整“采样步数”,这是去噪的次数,与生成速度直接相关。小于 30 的数字通常会导致较差的生成结果,而大于 100 的数字通常不会有明显的改善。“种子”用于可重复性,您可以将其设置为固定数字以生成相同的视频。“CFG 比例”控制模型遵循文本提示的程度,较小的值会导致视频更随机,而较大的值会导致视频更遵循文本(建议为 7

对于更高级的用法,您可以参考Gradio README.

推理

Open-Sora 1.3 命令行推理

基础的命令行推理:

# text to video
python scripts/inference.py configs/opensora-v1-3/inference/t2v.py \
  --num-frames 97 --resolution 720p --aspect-ratio 9:16 \
  --prompt "a beautiful waterfall"

您可以向命令行添加更多选项来定制生成。

python scripts/inference.py configs/opensora-v1-3/inference/t2v.py \
  --num-frames 97 --resolution 720p --aspect-ratio 9:16 --num-sample 1 \
  --aes "very good" --flow "fair" \
  --prompt "a beautiful waterfall"

对于图像到视频生成和其他功能,请参阅[此处]](docs/commands.md)了解更多说明。

序列并行推理

# text to video
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 scripts/inference.py configs/opensora-v1-3/inference/t2v.py \
  --num-frames 97 --resolution 720p --aspect-ratio 9:16 \
  --prompt "a beautiful waterfall"

GPT-4o 快速细化

我们发现 GPT-4o 可以细化提示并提高生成视频的质量。利用此功能,您还可以使用其他语言(例如中文)作为提示。要启用此功能,您需要在环境中准备您的 openai api 密钥:

export OPENAI_API_KEY=YOUR_API_KEY

然后您可以用 --llm-refine True 启用GPT-4o进行提示细化以完成推理。

python scripts/inference.py configs/opensora-v1-3/inference/t2v.py \
  --num-frames 97 --resolution 720p --llm-refine True \
  --prompt "a beautiful waterfall"

Open-Sora 1.2 命令行推理

View more

基础的命令行推理:

# text to video
python scripts/inference.py configs/opensora-v1-2/inference/sample.py \
  --num-frames 4s --resolution 720p --aspect-ratio 9:16 \
  --prompt "a beautiful waterfall"

您可以向命令行添加更多选项来定制生成。

python scripts/inference.py configs/opensora-v1-2/inference/sample.py \
  --num-frames 4s --resolution 720p --aspect-ratio 9:16 \
  --num-sampling-steps 30 --flow 5 --aes 6.5 \
  --prompt "a beautiful waterfall"

对于图像到视频生成和其他功能API 与 Open-Sora 1.1 兼容。请参阅[此处]](commands.md)了解更多说明。

如果您的安装不包含 apexflash-attn, 则需要在配置文件中或通过以下命令禁用它们。

python scripts/inference.py configs/opensora-v1-2/inference/sample.py \
  --num-frames 4s --resolution 720p \
  --layernorm-kernel False --flash-attn False \
  --prompt "a beautiful waterfall"

序列并行推理

要启用序列并行,您需要使用 torchrun 来运行推理脚本。以下命令将使用 2 个 GPU 运行推理。

# text to video
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 scripts/inference.py configs/opensora-v1-2/inference/sample.py \
  --num-frames 4s --resolution 720p --aspect-ratio 9:16 \
  --prompt "a beautiful waterfall"

⚠️ 注意: gradio 部署不支持序列并行。目前,只有当维度可以除以 GPU 数量时才支持序列并行。因此,在某些情况下可能会失败。我们测试了 4 个 GPU 用于 720p 和 2 个 GPU 用于 480p。

GPT-4o 快速细化

我们发现 GPT-4o 可以细化提示并提高生成视频的质量。利用此功能,您还可以使用其他语言(例如中文)作为提示。要启用此功能,您需要在环境中准备您的 openai api 密钥:

export OPENAI_API_KEY=YOUR_API_KEY

然后您可以用 --llm-refine True 启用GPT-4o进行提示细化以完成推理。

Open-Sora 1.1 命令行推理

查看更多

由于 Open-Sora 1.1 支持动态输入大小的推理,因此您可以将输入大小作为参数传递。

# text to video
python scripts/inference.py configs/opensora-v1-1/inference/sample.py --prompt "A beautiful sunset over the city" --num-frames 32 --image-size 480 854

如果您的安装不包含apexflash-attn,则需要在配置文件中或通过以下命令禁用它们。

python scripts/inference.py configs/opensora-v1-1/inference/sample.py --prompt "A beautiful sunset over the city" --num-frames 32 --image-size 480 854 --layernorm-kernel False --flash-attn False

请参阅此处了解更多说明,包括文本转图像、图像转视频、视频转视频和无限时间生成。

Open-Sora 1.0 命令行推理

查看更多

我们还提供了离线推理脚本。运行以下命令生成样本,所需的模型权重将自动下载。要更改采样提示,请修改传递给的 txt 文件--prompt-path。请参阅此处以自定义配置。

# Sample 16x512x512 (20s/sample, 100 time steps, 24 GB memory)
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x512x512.py --ckpt-path OpenSora-v1-HQ-16x512x512.pth --prompt-path ./assets/texts/t2v_samples.txt

# Sample 16x256x256 (5s/sample, 100 time steps, 22 GB memory)
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path OpenSora-v1-HQ-16x256x256.pth --prompt-path ./assets/texts/t2v_samples.txt

# Sample 64x512x512 (40s/sample, 100 time steps)
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/64x512x512.py --ckpt-path ./path/to/your/ckpt.pth --prompt-path ./assets/texts/t2v_samples.txt

# Sample 64x512x512 with sequence parallelism (30s/sample, 100 time steps)
# sequence parallelism is enabled automatically when nproc_per_node is larger than 1
torchrun --standalone --nproc_per_node 2 scripts/inference.py configs/opensora/inference/64x512x512.py --ckpt-path ./path/to/your/ckpt.pth --prompt-path ./assets/texts/t2v_samples.txt

速度是在 H800 GPU 上测试的。有关使用其他型号进行推理,请参阅此处 了解更多说明。要降低内存使用量,请vae.micro_batch_size在配置中设置较小的值(略低采样速度)。

数据处理

高质量的数据对于训练良好的生成模型至关重要。为此,我们建立了完整的数据处理流程,可以将原始视频无缝转换为高质量的视频-文本对。流程如下所示。有关详细信息,请参阅数据处理。另请查看我们使用的数据集

Data Processing Pipeline

训练

Open-Sora 1.3 训练

# one node
torchrun --standalone --nproc_per_node 8 scripts/train.py \
    configs/opensora-v1-3/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT
# multiple nodes
colossalai run --nproc_per_node 8 --hostfile hostfile scripts/train.py \
    configs/opensora-v1-3/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT

Open-Sora 1.2 训练

View more 训练过程与Open-Sora 1.1相同。
# one node
torchrun --standalone --nproc_per_node 8 scripts/train.py \
    configs/opensora-v1-2/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT
# multiple nodes
colossalai run --nproc_per_node 8 --hostfile hostfile scripts/train.py \
    configs/opensora-v1-2/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT

Open-Sora 1.1 训练

查看更多

在文件中准备好数据后csv,运行以下命令在单个节点上启动训练。

# one node
torchrun --standalone --nproc_per_node 8 scripts/train.py \
    configs/opensora-v1-1/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT
# multiple nodes
colossalai run --nproc_per_node 8 --hostfile hostfile scripts/train.py \
    configs/opensora-v1-1/train/stage1.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT

Open-Sora 1.0 训练

查看更多

在文件中准备好数据后csv,运行以下命令在单个节点上启动训练。

# 1 GPU, 16x256x256
torchrun --nnodes=1 --nproc_per_node=1 scripts/train.py configs/opensora/train/16x256x256.py --data-path YOUR_CSV_PATH
# 8 GPUs, 64x512x512
torchrun --nnodes=1 --nproc_per_node=8 scripts/train.py configs/opensora/train/64x512x512.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT

要在多个节点上启动训练,请根据ColossalAI准备一个主机文件,并运行以下命令。

colossalai run --nproc_per_node 8 --hostfile hostfile scripts/train.py configs/opensora/train/64x512x512.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT

有关训练其他模型和高级用法,请参阅此处获取更多说明。

评估

我们支持基于以下方面的评估:

  • 验证损失
  • VBenchh分数
  • VBench-i2v 分数
  • 批量生成以供人工评估 所有评估代码均发布在 eval文件夹中。查看README了解更多详细信息。我们的 技术报告还提供了有关训练期间评估的更多信息。下表显示 Open-Sora 1.2 大大改进了 Open-Sora 1.0。
模型 总得分 质量得分 语义得分
Open-Sora V1.0 75.91% 78.81% 64.28%
Open-Sora V1.2 79.23% 80.71% 73.30%
Open-Sora V1.3 ??.??% ??.??% ??.??%

VAE 训练与评估

Open-Sora 1.3 VAE 训练

我们实现并训练了一个统一的时空VAE以更好地压缩视频并保留细节。更多详情请参阅Open-Sora 1.3 VAE文档。在运行以下命令之前请按照我们的安装文档安装VAE和评估所需的依赖项。

``bash

Train VAE with 8 GPUs

colossalai run --hostfile hostfile --nproc_per_node 8 scripts/train_opensoravae_v1_3.py configs/vae_v1_3/train/video_16z.py --data-path YOUR_CSV_PATH --ckpt-path YOUR_PRETRAINED_CKPT --wandb True > logs/train_opensoravae_v1_3.log 2>&1 &


### Open-Sora 1.3 VAE 评估
您需要先运行VAE推理来生成视频然后计算生成视频的评分
```bash
VID_PATH=YOUR_CSV_PATH CUDA_VISIBLE_DEVICES=0 bash eval/vae/launch.sh pretrained_models/OpenSoraVAE_V1_3/model.pt

Open-Sora 1.2 VAE 训练

View more 我们训练一个由空间 VAE 和时间 VAE 组成的 VAE 管道。有关更多详细信息,请参阅[VAE 文档](vae.md)。在运行以下命令之前,请按照我们的[安装文档](installation.md)安装 VAE 和评估所需的依赖项。

如果您想训练自己的 VAE我们需要按照数据处理流程在 csv 中准备数据,然后运行以下命令。请注意,您需要根据自己的 csv 数据大小相应地调整配置文件中的训练epochs数量。

# stage 1 training, 380k steps, 8 GPUs
torchrun --nnodes=1 --nproc_per_node=8 scripts/train_vae.py configs/vae/train/stage1.py --data-path YOUR_CSV_PATH
# stage 2 training, 260k steps, 8 GPUs
torchrun --nnodes=1 --nproc_per_node=8 scripts/train_vae.py configs/vae/train/stage2.py --data-path YOUR_CSV_PATH
# stage 3 training, 540k steps, 24 GPUs
torchrun --nnodes=3 --nproc_per_node=8 scripts/train_vae.py configs/vae/train/stage3.py --data-path YOUR_CSV_PATH

为了评估 VAE 的性能,您需要首先运行 VAE 推理来生成视频,然后计算生成的视频的分数:

# video generation
torchrun --standalone --nnodes=1 --nproc_per_node=1 scripts/inference_vae.py configs/vae/inference/video.py --ckpt-path YOUR_VAE_CKPT_PATH --data-path YOUR_CSV_PATH --save-dir YOUR_VIDEO_DIR
# the original videos will be saved to `YOUR_VIDEO_DIR_ori`
# the reconstructed videos through the pipeline will be saved to `YOUR_VIDEO_DIR_rec`
# the reconstructed videos through the spatial VAE only will be saved to `YOUR_VIDEO_DIR_spatial`

# score calculation
python eval/vae/eval_common_metric.py --batch_size 2 --real_video_dir YOUR_VIDEO_DIR_ori --generated_video_dir YOUR_VIDEO_DIR_rec --device cuda --sample_fps 24 --crop_size 256 --resolution 256 --num_frames 17 --sample_rate 1 --metric ssim psnr lpips flolpips

贡献

感谢以下出色的贡献者:

如果您希望为该项目做出贡献,请参阅Contribution Guideline

致谢

这里我们仅列出了部分项目,其他研究成果及数据集请参考我们的报告。

  • ColossalAI: 强大的大型模型并行加速与优化系统。
  • DiT: 带有 Transformer 的可扩展扩散模型。
  • OpenDiT: DiT 训练的加速器。我们从 OpenDiT 中采用了有价值的训练进度加速策略。
  • PixArt: 一个基于 DiT 的开源文本转图像模型。
  • Latte: 尝试高效地训练视频的 DiT。
  • StabilityAI VAE: 一个强大的图像 VAE 模型。
  • CLIP: 一个强大的文本图像嵌入模型。
  • T5: 强大的文本编码器。
  • LLaVA: 基于Mistral-7BYi-34B. 的强大图像字幕模型。
  • PLLaVA: 一个强大的视频字幕模型。
  • MiraData:具有长持续时间和结构化字幕的大规模视频数据集。

我们感谢他们的出色工作和对开源的慷慨贡献。

引用

@software{opensora,
  author = {Zangwei Zheng and Xiangyu Peng and Tianji Yang and Chenhui Shen and Shenggui Li and Hongxin Liu and Yukun Zhou and Tianyi Li and Yang You},
  title = {Open-Sora: Democratizing Efficient Video Production for All},
  month = {March},
  year = {2024},
  url = {https://github.com/hpcaitech/Open-Sora}
}

Star增长

Star History Chart