网站首页 > 技术文章 正文
一. 介绍
1. 技术特点
高清视频生成 :
- OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展,支持无缝产出任意风格的高质量短片。
- 通过引入视频压缩网络(VAE)和更优的扩散模型算法,显著提升了视频生成的质量和效率。
视频压缩网络 :
- OpenSora 团队提出了一个创新的视频压缩网络,该网络在空间和时间两个维度上分别进行压缩。首先在空间维度上进行 8x8 倍的压缩,接着在时间维度上进一步压缩了 4 倍。这种压缩策略既避免了因抽帧而牺牲视频流畅度的弊端,又大幅降低了训练成本。
更优的扩散模型算法 :
- 基于 Stable Diffusion 3 的研究成果,OpenSora 团队提供了一套完整的训练解决方案,包括简单易用的整流(rectified flow)训练、用于训练加速的 Logit-norm 时间步长采样、基于分辨率和视频长度的时间步长采样等。这些技术的整合不仅加快了模型的训练速度,还显著减少了推理阶段的等待时间。
模型评估体系 :
- OpenSora 团队构建了更完善的模型评估体系,保障模型的稳健性和泛化能力。他们跟踪了 100 张图像和 1k 个视频的校正流评估损失,并使用 VBench 进行自动视频评估,以监控训练过程和评估模型性能。
2. 应用场景
游戏开发 :
- 游戏开发者可以使用 OpenSora 生成游戏场景、人物动画等,提升游戏画面表现力。
影视制作 :
- 电影、电视剧等影视作品的制作人员可以使用 OpenSora 生成各种场景、特效等,为影视作品增添视觉效果。
广告制作 :
- 广告制作人员可以使用 OpenSora 生成各种场景和动画,提升广告创意和视觉效果。
教育和培训 :
- OpenSora 可以用于制作教学视频、演示视频等,为用户提供更直观的学习体验。
个人创作 :
- 个人用户可以使用 OpenSora 制作各种短视频,满足个人创作需求。
3. 其他特性
多语言能力 :
- OpenSora 1.2 通过用 mT5 替换了 T5,增强了多语言能力,使得模型能够更好地处理不同语言的文本输入。
生成可控性 :
- 提供了更多的可控性选项,使用户能够根据需要调整生成的视频内容和风格。
支持任意长度和分辨率 :
- 采用了 bucket 策略,从而支持生成任意长度和分辨率的视频。
4. 模型下载与资源
- 模型下载 :OpenSora 1.2 的模型可以在 Hugging Face 等平台上免费下载和使用,具体链接如:Huggingface 模型下载。
- 代码资源 :相关的代码和文档可以在 GitHub 等开源平台上找到,便于开发者进行二次开发和研究。
二、容器构建说明
下面将以 open sora1.2 项目进行部署,由于模型较大建议使用 RTX3090 及以上显卡 。
1. 安装 miniconda
进入 Anaconda 官网:
Miniconda — Anaconda 文档
找到快速命令行安装,选择 Linux 系统,复制代码进入终端中进行安装。
等待安装完成。
2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs
apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs
3. 克隆项目仓库,并打开文件
项目地址:GitHub - hpcaitech/Open-Sora:Open-Sora:为所有人实现高效视频制作的民主化
git clone https://github.com/hpcaitech/Open-Sora.git
cd Open-Sora
4. 创建 python 为 3.9 版本的虚拟环境,名称为 opensora
conda create -n opensora python=3.9 -y
5. 激活虚拟环境 opensora
conda activate opensora
6. 安装项目依赖文件
为了安装速度更快可以将 pip 进行永久换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements/requirements-cu121.txt
pip install -v .
apt-get install libgl1
apt-get install libglib2.0-0
7. 修改运行代码
由于RTX3090运行该项目还有一定压力因此更改精度,减小显卡压力
打开/Open-Sora/configs/opensora-v1-2/inference/sample.py
将bf16改为fp16
8. 指定端口:
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
9. 更改模型库的镜像,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)
export HF_ENDPOINT=https://hf-mirror.com
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"
如上所示代码需要下载apex以及flash attention,这两个包极易出现安不上或配置环境速度缓慢问题,不建议使用。包括如需webui界面的也需要下载这两个包。
建议使用终端进行推理:
export HF_ENDPOINT=https://hf-mirror.com
python scripts/inference.py configs/opensora-v1-2/inference/sample.py \
--num-frames 4s --resolution 144p \
--layernorm-kernel False --flash-attn False \
--prompt "a beautiful room"
等待下载完成即可出现结果
待以下进度条为100%时会显示出运行出的结果保存的路径
如果无法查看视频所在地址,可以通过 python http服务进行显示,以下示例为监听8080端口
cd samples/samples
python -m http.server 8080
打开浏览器输入 127.0.0.1:8080即可显示运行的视频
猜你喜欢
- 2024-10-09 教你快速录制gif动图(动图录屏怎么弄?)
- 2024-10-09 简单实用且好看!基于electron的的开源图床工具
- 2024-10-09 ubuntu 环境下 ruby 环境快速搭建
- 2024-10-09 史上最全的实际操作的!git+jenkins+k8s 自动化部署运维
- 2024-10-09 HTTP压测工具wrk安装与使用(鲁班工具官网下载安装)
- 2024-10-09 基于docker安装myip开源工具查询本机ip和测试本机网络
- 2024-10-09 重玩 40 年前的经典游戏小蜜蜂,这次通关了源码
- 2024-10-09 clang编译器简介(clang编译器下载)
- 2024-10-09 简单漂亮的(图床工具)开源图片上传工具——PicGo
- 2024-10-09 【iOS学习】使用 Xcode 开发 Clang 插件
- 04-29kali2021ping 外网不通
- 04-29我是如何用这3个小工具,助力小姐姐提升100%开发效率的
- 04-29注册下载啊
- 04-29Spring 中三种 BeanName 生成器!
- 04-29mysql学习9:创建数据库
- 04-29Linux之yum源详解
- 04-29夏日终曲/请以你的名字呼唤我/Call me by your name(无剧透)
- 04-29注释竟然还有特殊用途?一文解惑 //go:linkname 指令
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- sqlset (59)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)