Open-Sora 单机部署教程

  

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

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

(Open-Sora一共需要下载20多个G的模型)、数据盘可以单独保存使得我们不用每次部署都重新下载模型。 

图片.png

在命令行界面运行:

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

 c
 
posted @ 2024-03-21 20:58  freedragon  阅读(1535)  评论(0编辑  收藏  举报