当前位置:   article > 正文

OpenSora初体验_opensora环境配置

opensora环境配置

一、简介

打开

GitHub - hpcaitech/Open-Sora: Open-Sora: Democratizing Efficient Video Production for All

你可以发现3月18日Open-Sora 1.0 发布的消息:

快速跳到安装部分:

二、准备体验机器

打开

InternStudio​studio.intern-ai.org.cn/

新建一个InternStudio的机器:sora-test

进入开发机:

nvidia-smi

nvcc -V

注意:cuda版本是11.7

三、准备CUDA 11.7的conda环境

1、创建conda环境

conda create -n opensora python=3.10 -y conda activate opensora

2、安装Pytorch

打开 https://pytorch.org/get-started/locally/

这里面只有CUDA11.8的。有两种方式:

1是用conda安装cuda 12.1或者cuda 11.8的版本,命令为:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

2是选择历史版本,

安装方法为:

conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2

为了省事点,使用最后一种方式吧!

 

pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2

3、查看torch安装结果



python

import torch

torch.cuda.is_available()

torch.__version__ quit()

4、装flash-attn (optional)

pip install packaging ninja

已经装了。

pip install flash-attn --no-build-isolation

好像卡住了。先断掉。这是可选的。要不然先忽略掉。

5、安装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

好像安装失败了!不过这也是可选的。要不然先忽略掉。

6、安装xformers

pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu117

这里有点怪,即便强行指定了CUDA 11.7版本,它还是用了12的包吗?

四、准备CUDA12.1的conda环境

张小白有点不放心。前面那么多错,干脆推翻掉前面的。全部搭建CUDA 12.1的环境吧!

1、创建conda环境

conda create -n opensora12 python=3.10 -y conda activate opensora12

2、安装CUDA 12.1版本的pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

3、检查pytorch安装结果

python

import torch

torch.cuda.is_available()

torch.__version__ quit()

4、安装flash-attn (optional)

pip install packaging ninja

pip install flash-attn --no-build-isolation

耐心等待一下。。。

装好了。

5、安装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

问题来了,显示的是CUDA11.7跟所需要的CUDA12.1不一致。

6、升级CUDA toolkit到CUDA12.1

看看能否安装CUDA 12.1的toolkit

打开

查看本机ubuntu版本号

lsb_release -a

按照以上方式选择,复制命令:

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run

sh cuda_12.1.1_530.30.02_linux.run

accept

不选driver,只选CUDA 12.1

Install

Yes

此时CUDA路径已指向12.1

nvcc -V

7、重新安装apex (optional)

切换到 opensora12的conda环境
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

感觉好像可以编译下去了。

好像只有一些warning。

成功了。

8、安装xformers

pip3 install -U xformers --index-url https://download.pytorch.org/whl/cu121

9、安装OpenSora

git clone https://github.com/hpcaitech/Open-Sora 
cd Open-Sora 
pip install -v .

10、删除CUDA 11.7的conda环境

把前面的opensora环境删除吧

conda deactivate

conda env remove -n opensora

安装完毕。

五、openSora的推理体验

1、下载T5模型权重

打开T5权重文件目录:

https://huggingface.co/DeepFloyd/t5-v1_1-xxl/tree/main

编写脚本下载 T5权重到

/root/Open-Sora/pretrained_models/t5_ckpts/t5-v1_1-xxl 目录.

vi download_t5.py

import os

# 设置环境变量

os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'

# 下载模型

os.system('huggingface-cli download --resume-download DeepFloyd/t5-v1_1-xxl --local-dir /root/Open-Sora/pretrained_models/t5_ckpts/t5-v1_1-xxl --local-dir-use-symlinks False')

在opensora12的conda环境执行:

python download_t5.py

下载后的文件如下:

2、推理体验1

试一下推理的第一个命令:

# Sample 16x256x256 (5s/sample, 100 time steps, 22 GB memory)

# Auto Download

torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path OpenSora-v1-HQ-16x256x256.pth --prompt-path ./assets/texts/t2v_samples.txt

奇怪,这个模型:https://huggingface.co/stabilityai/sd-vae-ft-ema/tree/main

只有600M,怎么感觉推理还在下载模型:(可能跟前面手工下载的重复了)

find . -name pytorch_model.bin.index.json

果然如此。

先中断推理脚本执行。

3、修改配置,将T5模型改为绝对路径

打开 configs/opensora/inference/16x256x256.py

将t5路径改为绝对路径:

4、下载openSora模型权重

打开

https://huggingface.co/hpcai-tech/Open-Sora/blob/main/OpenSora-v1-16x256x256.pth

下载模型权重文件脚本

vi download_opensora.py

import os 
# 设置环境变量 
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' 

# 下载模型 
os.system('huggingface-cli download --resume-download hpcai-tech/Open-Sora --local-dir /root/Open-Sora/models --local-dir-use-symlinks False')

python download_opensora.py

5、推理体验2

重新执行:

torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path models/OpenSora-v1-HQ-16x256x256.pth --prompt-path ./assets/texts/t2v_samples.txt

看日志好像是T5的模型有问题。要不暂时不使用绝对路径。

6、修改配置,将T5模型还原成为相对路径并重新推理体验

将 configs/opensora/inference/16x256x256.py 中 t5的路径还原成相对路径。

from_pretrained="DeepFloyd/t5-v1_1-xxl",

重试:

torchrun --standalone --nproc_per_node 1 scripts/inference.py configs/opensora/inference/16x256x256.py --ckpt-path models/OpenSora-v1-HQ-16x256x256.pth --prompt-path ./assets/texts/t2v_samples.txt

这回按照它的意思去下载模型了,耐心等待。

这回成功完成了推理,生成了10个MP4视频文件。

7、查看推理结果

将视频下载到本地:

结合t2v_samples.txt文件:

 

翻译一下:

(1)

(2)

(3)

(4)

(5)

(6)

这个蓝鱼有点怪。。。

(7)

(8)

(9)

(10)

8、检查显存消耗

刚才忘记看显卡的消耗情况了。

重新跑一次,看一下:

加载模型后 18G左右。

开始转换时,将近22G。

看来4090显卡坞还是能勉强跑起来的。

至于为啥绝对路径无法加载,可能是openSora的一个小BUG吧。

至于自己创作视频。。。且让俺先想想prompt该怎么写再说吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/376985
推荐阅读
相关标签
  

闽ICP备14008679号