Open-Sora 单机部署教程

Open-Sora是GitHub上最近出现的一个开源项目,对标Sora,并且提供了完整的训练、推理的代码和模型权重。我们可以用这个项目的代码来进行文生视频等操作。代码仓库地址:github.com/hpcaitech/O...

虽然Open-Sora目前的效果和Sora还有一些差距,生成视频的效果和长度都还有很大改善空间,但是优点在于完全开源,灵活性更高,而且是目前唯一能用上的模型。所以这篇文章就来介绍如何在单机上部署Open-Sora并进行文生视频推理。之后的文章会介绍如何将Open-Sora部署为可支持多人在线调用的API服务。

本文选择runpod平台(runpod.io)进行部署,好处在于有多种GPU型号可以选择、网络速度非常快(Open-Sora一共需要下载20多个G的模型)、数据盘可以单独保存使得我们不用每次部署都重新下载模型。注册一个runpod账号,往里面充值之后,我们就可以开始使用了。

创建数据盘,下载模型

首先,我们来到"storage",新建一个"Network Volume",地区就选择GPU余量还比较多的地区就行,数据盘大小最好填35G以确保足够下载所有模型。

创建好之后,点击"deploy",推荐选择一个48GB显存的GPU进行部署,比如选择"A40"进行部署。然后在选择template的时候记得选一个cuda版本在12.1的template进行部署。接下来都默认勾选,等待GPU实例初始化。

GPU pod初始化之后,我们点击"Connect",然后点击"Connect Jupyter Lab",进入到Jupyter笔记本界面,点击终端(terminal),我们就可以来到命令行界面。

在命令行界面运行:

bash 复制代码
cd /workspace
git clone https://github.com/hpcaitech/Open-Sora.git
cd Open-Sora/
# 下载模型权重
wget https://huggingface.co/hpcai-tech/Open-Sora/resolve/main/OpenSora-v1-16x256x256.pth
mkdir -p pretrained_models/t5_ckpts
cd pretrained_models/t5_ckpts
# 安装git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get install git-lfs
# 下载权重
git lfs install
git clone https://huggingface.co/DeepFloyd/t5-v1_1-xxl

安装依赖

模型权重下载好之后,我们可以直接在这个GPU pod上安装依赖,首先要安装miniconda:

bash 复制代码
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

然后关掉终端,重新打开一个终端,开始安装python依赖:

perl 复制代码
cd Open-Sora
# create a virtual env
conda create -y -n opensora python=3.10
conda activate opensora

# 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
pip install -v .

开始文生视频

运行下面的推理命令来看看是不是能成功进行文生视频:

css 复制代码
torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path ./OpenSora-v1-16x256x256.pth

这个命令使用的是"assets/texts/t2v_samples.txt"下的prompt来生成视频,并且将生成结果保存到"outputs/samples"文件夹下,如果想要自定义prompt,就去更改"t2v_samples.txt"文件就行了。

相关推荐
z千鑫9 小时前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
程序员X小鹿14 小时前
AI视频自动剪辑神器!点赞上万的影视剧片段,一键全自动剪辑,效率提升80%!(附保姆级教程)
aigc
学习前端的小z18 小时前
【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成
人工智能·gpt·chatgpt·aigc
刘悦的技术博客1 天前
MagicQuill,AI动态图像元素修改,AI绘图,需要40G的本地硬盘空间,12G显存可玩,Win11本地部署
ai·aigc·python3.11
xindoo1 天前
如何用GPT-4o解读视频
aigc·gpt-3·音视频
起名字真南2 天前
【C++】深入理解 C++ 中的继承进阶:多继承、菱形继承及其解决方案
java·jvm·c++·chatgpt·aigc
Jartto2 天前
2025年AI革命:斯坦福李飞飞教授揭秘多模态智能体的未来
aigc
AI小欧同学2 天前
【AIGC】ChatGPT提示词Prompt解析:情感分析,分手后还可以做朋友吗?
chatgpt·prompt·aigc
z千鑫2 天前
【AIGC】破解ChatGPT!如何使用高价值提示词Prompt提升响应质量
人工智能·chatgpt·prompt·aigc·codemoss
kebijuelun2 天前
阿里数字人工作 Emote Portrait Alive (EMO):基于 Diffusion 直接生成视频的数字人方案
人工智能·语言模型·stable diffusion·aigc·音视频