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