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极客菌4 小时前
Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5。
人工智能·计算机视觉·ai作画·stable diffusion·aigc·flux·人工智能作画
水豚AI课代表10 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
程序员X小鹿12 小时前
全部免费!6款AI对口型神器,让照片开口说话唱歌,早晚用得上,建议收藏!(附保姆级教程)
aigc
真忒修斯之船12 小时前
大模型分布式训练并行技术(三)流水线并行
面试·llm·aigc
学习前端的小z14 小时前
【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用
人工智能·chatgpt·aigc
zzZ_CMing15 小时前
大语言模型训练的全过程:预训练、微调、RLHF
人工智能·自然语言处理·aigc
杰说新技术19 小时前
Meta AI最新推出的长视频语言理解多模态模型LongVU分享
人工智能·aigc
热爱跑步的恒川1 天前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
火山引擎边缘云1 天前
创新实践:基于边缘智能+扣子的智慧婴儿监控解决方案
物联网·aigc·边缘计算
算家云1 天前
如何在算家云搭建Aatrox-Bert-VITS2(音频生成)
人工智能·深度学习·aigc·模型搭建·音频生成·算家云