Sora没体验资格?开源项目:Open-Sora,复现类Sora视频生成方案

3ffccaa52d7da97ee3bea1c58af6477c.jpeg项目简介

Open-Sora项目是一项高效制作高质量视频的工作,明确所有权使用其模型、工具和内容的计划。通过采用开源原则,Open-Sora 不仅实现了先进的视频生成技术的普及,还提供了一个专业且用户界面的方案,简化了视频制作的复杂性。通过 Open-Sora,我们希望更多的开发者一起探索内容创作领域的创新、创造和遏制。

项目展示

bec3e00f2055fe8a7521c8e2870a8112.jpeg04152ed78e74e851ba1ea88a66e86c30.jpeg75eff32807ce8c06b44779188183a479.jpeg

项目地址

https://github.com/hpcaitech/Open-Sora

新功能

  • Open-Sora-v1 已发布。这里提供了模型权重。只需400K视频片段和在单卡H800上训200天(类比稳定视频扩散的152M样本),我们就可以生成2秒的512×512视频。
  • ✅ 从图像扩散模型到视频扩散模型的三阶段训练。我们提供每个阶段的权重。
  • ✅ 支持训练加速,包括 Transformer 加速、更快的 T5 和 VAE 以及序列任务。在对 64x512x512 视频进行训练时,Open-Sora 可将训练速度提高55%。详细信息请参见训练加速。
  • ✅ 我们提供用于数据修复的视频剪辑和字幕工具。有关说明请点击此处,我们的数据收集计划请点击数据集。
  • ✅ 我们发现来自VideoGPT的 VQ-VAE 质量较低,因此采用了来自Stability-AI的高质量 VAE。我们还发现使用添加时间维度的采样会导致质量降低。更多讨论,请参阅我们的报告。
  • ✅ 我们研究了不同的架构,包括 DiT、Latte 和我们提出的STDiT。我们的 STDiT 在质量和速度之间实现了更好的权衡。更多讨论,请参阅我们的报告。
  • ✅ 支持剪辑和 T5 文本调节。
  • ✅ 通过将图像视为单帧视频,我们的项目支持在图像和视频(如 ImageNet 和 UCF101)上训练 DiT。更多说明请参见指令解析。
  • ✅利用DiT、Latte和PixArt的官方权重支持推理。

查看更多

下一步计划【按优先级排序】

  • 完成数据处理流程(包括密集光流、美学评分、文本图像相似性、重复数据删除等)。更多信息请参见数据集。[项目进行中]
  • 训练视频-VAE。[项目进行中]

查看更多

  • 支持图像和视频调节。
  • 评估流程。
  • 加入更好的调度程序,如SD3中的整流流程程序。
  • 支持可变长宽比、分辨率和持续时间。
  • 发布后支持SD3。
目录
  • 安装
  • 模型权重
  • 推理
  • 数据处理
  • 训练
  • 贡献
  • 声明
  • 引用
安装

# create a virtual env
conda create -n opensora python=3.10

# install torch
# the command below is for CUDA 12.1, choose install commands from
# https://pytorch.org/get-started/locally/ based on your own CUDA version
pip3 install torch torchvision

# install flash attention (optional)
pip install packaging ninja
pip install flash-attn --no-build-isolation

# install apex (optional)
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

# install xformers
pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu121

# install this project
git clone https://github.com/hpcaitech/Open-Sora
cd Open-Sora
pip install -v .安装完成后,建议阅读结构,了解项目结构以及如何使用配置文件。

模型权重

分辨率数据迭代次数批量大小GPU 天数 (H800)网址16×256×256366K80k8×64117
16×256×25620K 总部24k8×6445
16×512×51220K 总部20k2×6435
我们模型的权重部分由PixArt-α初始化。参数数量为724M。有关训练的更多信息,请参阅我们的报告。有关数据集的更多信息,请参阅数据。HQ 表示水平。:warning:轰炸性:我们的模型是在有限的预算内训练出来的。质量和文本扫描度相对较差。特别是在生成人类时,模型表现很差,无法遵循详细的指令。我们正在努力改进质量和文本扫描。

推理

要使用我们提供的权重进行推理,首先将T5权重下载到
pretrained_models/t5_ckpts/t5-v1_1-xxl中。然后下载模型权重。运行以下命令配置生成样本。请参见此处自定义模型。# Sample 16x256x256 (5s/sample)
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)
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x512x512.py --ckpt-path ./path/to/your/ckpt.pth

# 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

# 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我们在H800 GPU上进行了速度测试。如需使用其他模型进行推理,请参见此处获取更多说明。

数据处理

高质量数据是高质量模型的关键。这里有我们使用过的数据集和数据收集计划。我们提供处理视频数据的工具。目前,我们数据的处理流程包括以下步骤:

  1. 下载数据集。[文件]
  2. 将视频分割成片段。[文件]
  3. 生成视频字幕。[文件]
训练

要启动训练,首先T5权重下载到
pretrained_models/t5_ckpts/t5-v1_1-xxl中。然后运行以下命令在单个节点上启动训练。# 1 GPU, 16x256x256
torchrun --nnodes=1 --nproc_per_node=1 scripts/train.py configs/opensora/train/16x256x512.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有关其他模型的训练和高级使用方法,请参阅此处获取更多说明。

贡献

如果您希望为该项目做出贡献,可以参考贡献指南。

声明
  • DiT:带有 Transformer 的可扩展扩散模型。
  • OpenDiT:DiT 训练的加速。我们采用了有价值的 OpenDiT 训练进度加速策略。
  • PixArt:一种基于 DiT 的开源文本到图像模型。
  • Latte:尝试有效地训练视频 DiT。
  • StabilityAI VAE:强大的图像 VAE 模型。
  • CLIP:强大的文本图像嵌入模型。
  • T5:强大的文本编码器。
  • LLaVA:基于Yi-34B 的强大图像字幕模型。
资讯

[2024.03.18] 我们发布了Open-Sora 1.0,这是一个完全开源的视频生成项目。Open-Sora 1.0 支持视频数据构建、加速训练、推理等流程。我们提供的模型权只需3天的训练就可以生成2秒的512x512视频。[2024.03.04] Open-Sora:开源Sora复现方案,成本降低46%,序列扩充至近百万

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 对接Pangle海外广告平台收益接口Reporting API

今天对接的是Pangle广告reporting api接口,拉取广告收益回来自己做统计。记录分享给大家 首先是文档地址,进入到Pangle后台就能看到文档地址以及参数: 文档地址:https://www.pangleglobal.com/zh/integration/reporting-api-v2 在这里插入图片…

算法---二分查找练习-2(寻找旋转排序数组中的最小值)

寻找旋转排序数组中的最小值 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:点这里 2. 讲解算法原理 首先,检查数组的最后一个元素是否大于第一个元素。如果是,说明数组没有进行旋转,直接返回第一个元素作为最小值…

稀碎从零算法笔记Day22-LeetCode:

题型:链表 链接:2. 两数相加 - 力扣(LeetCode) 来源:Leet 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …

vue项目:使用xlsx导出Excel数据

文章目录 一、安装xlsx二、报错及解决三、编写公共方法四、方法使用 一、安装xlsx 执行命令:npm i xlsx file-saver --save 二、报错及解决 使用时:import XLSX from "xlsx"; 发现如下报错信息 报错原因:xlsx版本不兼容。 解…

Java项目基于SpringBoot和Vue的时装购物系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的时装购物系统。 💕💕作者:李同学 💕💕个人简介:混迹在java圈十年有余,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可…

web前端之不一样的下拉菜单、不选中第一个元素的样式效果、伪类排除第一个元素、符号选择器、hover、not、first、child

MENU 效果图htmlcssJShtmlcss 效果图 htmlcssJS html <nav><ul><li class"navli"><h4>HTML5</h4><ul class"ulson"><li class"lison">HTML5</li></ul></li><li class"na…

Django单表数据库操作

单表操作 测试脚本 当你只想测试django某一个py文件的内容,可以不用书写前后端的交互,直接写一个测试脚本即可 单表删除 数据库操作方法: 1.all():查询所有的数据 2.filter():带有过滤条件的查询 3.get():直接拿数据对象,不存在则报错 4.first():拿queryset里面的第一个元素…

天童知识课堂|“春分”

春色正中分&#xff0c;人间恰良辰。春分&#xff0c;也称升分&#xff0c;是二十四节气之一。春分的到来&#xff0c;意味着春天已经过去一半了&#xff0c;气候也逐渐温暖&#xff0c;阳光更加明媚。而关于春分的知识&#xff0c;你知道多少呢&#xff1f;来和天童美语一起了…

鸿蒙开发实战:【系统服务管理部件】

简介 samgr组件是OpenHarmony的核心组件&#xff0c;提供OpenHarmony系统服务启动、注册、查询等功能。 系统架构 图 1 系统服务管理系统架构图 目录 /foundation/systemabilitymgr ├── samgr │ ├── bundle.json # 部件描述及编译文件 │ ├── frameworks …

vue+elementui中table实现单选行功能

el-table插件可以选择行&#xff0c;但是只能多选&#xff0c;而项目中有单选的需求。 效果如下图所示&#xff0c;点击行或者点击复选框都可以选中行&#xff08;高亮&#xff0c;复选框选中&#xff09;&#xff0c;并且每次只选中当前行&#xff0c;之前选中的行清空。点击标…

Elasticsearch:让你的 Elasticsearch 索引与 Python 和 Google Cloud Platform 功能保持同步

作者&#xff1a;来自 Elastic Garson Elasticsearch 内的索引 (index) 是你可以将数据存储在文档中的位置。 在使用索引时&#xff0c;如果你使用的是动态数据集&#xff0c;数据可能会很快变旧。 为了避免此问题&#xff0c;你可以创建一个 Python 脚本来更新索引&#xff0…

端口如何映射到外网?

在现代信息化社会中&#xff0c;远程访问已经成为人们工作和生活中不可或缺的一部分。复杂的网络环境和网络限制可能会给远程连接带来不便。在这种情况下&#xff0c;端口映射到外网的技术应运而生。本文将介绍端口映射到外网的概念、应用场景以及一种优秀的解决方案——【天联…

Docker-安装

Docker ⛅Docker-安装&#x1f320;各平台支持情况&#x1f320;Server 版本安装☃️Ubuntu☃️Centos &#x1f320;Docker 镜像源修改&#x1f320;Docker 目录修改 ⛅Docker-安装 &#x1f320;各平台支持情况 &#x1f320;Server 版本安装 ☃️Ubuntu &#x1f342;安装…

LiveGBS流媒体平台GB/T28181功能-HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书

LiveGBS功能支持HTTPS 服务支持配置开启什么时候需要开启HTTPS测试SSL证书配置HTTPS测试证书 1、配置开启HTTPS1.1、准备https证书1.1.1、选择Nginx类型证书下载 1.2、配置 LiveCMS 开启 HTTPS1.2.1 web页面配置1.2.2 配置文件配置 2、HTTPS测试证书3、验证HTTPS服务4、为什么要…

Visual Studio 2013 - 清理

Visual Studio 2013 - 清理 1. 清理1.1. 工程清理1.2. 解决方案清理 References 1. 清理 Debug Release 1.1. 工程清理 (right mouse click on the project) -> 清理 1.2. 解决方案清理 (right mouse click on the solution) -> 清理解决方案 References [1] Yongq…

Vue技能树总结01

Vue vs React 相似之处: 它们都有使用 Virtual DOM&#xff1b;提供了响应式&#xff08;Reactive&#xff09;和组件化&#xff08;Composable&#xff09;的视图组件。将注意力集中保持在核心库&#xff0c;而将其他功能如路由和全局状态管理交给相关的库。React 比 Vue 有更…

记录C++中,子类同名属性并不能完全覆盖父类属性的问题

问题代码&#xff1a; 首先看一段代码&#xff1a;很简单&#xff0c;就是BBB继承自AAA&#xff0c;然后BBB重写定义了同名属性&#xff0c;然后调用父类AAA的打印函数&#xff1a; #include <iostream> using namespace std;class AAA { public:AAA() {}~AAA() {}void …

网络货运平台有哪些

网络货运平台有运满满、货拉拉、快狗打车、滴滴货运、货运宝、G7、货骑士、云鸟配送、积微物联、中储智运等。 运满满 运满满创立于2013年&#xff0c;是国内首家基于云计算、大数据、移动互联网和人工智能技术开发的货运调度平台&#xff0c;是公路物流领域高新技术综合应用…

线性代数基础概念和在AI中的应用

基本概念 线性代数是数学的一个分支&#xff0c;专注于向量、向量空间&#xff08;也称为线性空间&#xff09;、线性变换和矩阵的研究。这些概念在数据科学、人工智能、工程学和物理学等多个领域都有广泛应用。以下是这些基本概念的详细解释和它们在数据处理和AI中的应用。 …

开发微信小程序被鹅厂背刺

最近在开发微信小程序&#xff0c;没来得及更文。等开发完成后&#xff0c;给大家写保姆帖系列。刚刚看到一张动图&#xff0c;忍不住分享给大家。属实反映了鹅厂风格了。