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"文件就行了。

相关推荐
AI绘画君3 小时前
Stable Diffusion绘画 | AI 图片智能扩充,超越PS扩图的AI扩图功能(附安装包)
人工智能·ai作画·stable diffusion·aigc·ai绘画·ai扩图
乔代码嘚6 小时前
AI2.0时代,普通小白如何通过AI月入30万
人工智能·stable diffusion·aigc
XiaoLiuLB6 小时前
ChatGPT Canvas:交互式对话编辑器
人工智能·自然语言处理·chatgpt·编辑器·aigc
学习前端的小z1 天前
【AIGC】ChatGPT提示词解析:如何打造个人IP、CSDN爆款技术文案与高效教案设计
人工智能·chatgpt·aigc
wgggfiy2 天前
chatgpt学术科研prompt模板有哪些?chatgpt的学术prompt有哪些?学术gpt,学术科研
论文阅读·人工智能·gpt·chatgpt·prompt·aigc
⊙月2 天前
CMU 10423 Generative AI:lec15(Scaling Laws 大规模语言模型的扩展法则)
人工智能·aigc
贪玩懒悦2 天前
用langchain+streamlit应用RAG实现个人知识库助手搭建
人工智能·ai·语言模型·langchain·aigc
CM莫问3 天前
大语言模型入门(一)——大语言模型智能助手
人工智能·算法·语言模型·自然语言处理·aigc
⊙月3 天前
CMU 10423 Generative AI:lec14(Vision Language Model:CLIP、VQ-VAE)
人工智能·aigc
⊙月3 天前
CMU 10423 Generative AI:lec16(Mixture of Experts 混合专家模型)
人工智能·aigc