open-sora-plan适配昇腾开源验证任务心得
Open-Sora-Plan 是由北京大学元语义智能研究组开发的一个面向文本驱动的视频生成开源框架。该项目集成了最新的生成式AI技术,提供了从文字描述生成高质量视频的能力,支持用户通过简单的自然语言提示生成逼真的动态内容。
根据任务计划书了解任务内容,主要目的是将 Open-Sora-Plan项目适配至华为的 Ascend(昇腾),确保其在昇腾上能够单卡、多卡推理部署。
环境准备
在开始使用 Open-Sora-Plan 进行适配和验证任务之前,需要完成以下环境准备工作:
本机实验环境介绍:EulerOS
内核版本:Linux devserver-314b-0 5.10.0-136.12.0.86.r1526_92.hce2.aarch64
NPU:910B
torch 2.4.0
torch-npu 2.4.0
python 3.8
项目下载:git clone https://github.com/PKU-YuanGroup/Open-Sora-Plan
cd Open-Sora-Plan
FFmpeg
FFmpeg 用于视频的解码、编码和处理。
安装方式:(我安装的4.0.2版本)
1.下载
wget https://ffmpeg.org/releases/ffmpeg-<version>.tar.bz2
tar xjvf ffmpeg-<version>.tar.bz2
cd ffmpeg-<version>
2.编译和安装 FFmpeg
./configure \
--prefix=/usr/local \
--enable-gpl \
--enable-nonfree \
--enable-libass \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-shared \
--disable-static \
make -j$(nproc)
sudo make install
- 验证安装
ffmpeg -version
注:编译可能需要40分钟左右。
decord安装
办法一:
pip install decord
#大概率用不了
办法二:
git clone --recursive https://github.com/dmlc/decord
cd decord
mkdir build && cd build
cmake .. -DUSE_CUDA=0 -DCMAKE_BUILD_TYPE=Release -DFFMPEG_DIR=/dev/shm/dingsong/Open-Sora-Plan/ffmpeg-4.0.2/ffmpeg-4.0.2#FFMPEG安装目录
make
编译完成后
cd ../python
pwd=$PWD
echo "PYTHONPATH=$PYTHONPATH:$pwd" >> ~/.bashrc
source ~/.bashrc
python3 setup.py install --user
decord-0.6.0安装成功
报错解决:
检测ffmpeg在编译阶段是否生成.so文件,没生成就说明ffmpeg编译安装阶段出了问题再清理内存make一遍。
报错解决:
可能因为软件版本与内核不兼容,建议切换ffmpeg版本,试了很多遍还是python3.8与ffmpeg4.0.2安装成功。
decord的官方安装解答对CentOS用户没太多帮助,可能会遇见别的错误,如有其他报错可以留言。
模型下载
diffusion model:https://huggingface.co/LanguageBind/Open-Sora-Plan-v1.3.0/tree/main/any93x640x640
vae:https://huggingface.co/LanguageBind/Open-Sora-Plan-v1.3.0/tree/main/vae
text encoder(大小超过100G):https://huggingface.co/google/mt5-xxl 或 https://gitee.com/hf-models/mt5-xxl
若下载中断可以在下载文件目录下执行下面代码,可继续下载:
git fetch --all
git reset --hard origin/main
prompt refiner(可选):https://huggingface.co/LanguageBind/Open-Sora-Plan-v1.3.0/tree/main/prompt_refiner
模型推理(默认多卡)
bash scripts/text_condition/npu/sample_t2v_v1_3.sh \
--model_path "/run/Open-Sora-Plan-v1.3.0/any93x640x640_i2v" \
--text_encoder_name_1 "/run/mt5-xxl" \
--ae_path "/run/Open-Sora-Plan-v1.3.0/vae" \
--guidance_scale 7.5 \
--num_sampling_steps 100 \
--sample_method EulerAncestralDiscrete
--batch_size 32
参数自定义修改.
单卡推理可修改scripts/text_condition/npu/sample_t2v_v1_3.sh脚本中第一行CUDA_VISIBLE_DEVICES=0 torchrun --nnodes=1 --nproc_per_node 1 --master_port 29513 \
推理中:
text to video 为例 4张910b推理一条大概250s左右
推理完成结果展示(默认output路径"./test"):
推理报错处理
期望参数缺少
可能因为wandb未登录,wandb login也报错
解决方法1:打开config配置文件,删除auths。
cat ~/.docker/config.json
保存内容如下:
{
“HttpHeaders”: {
“User-Agent”: “Docker-Client/18.09.0 (linux)”
}
}
再执行
wandb login <your-api-key>
api需要到官网进行注册。
解决方法2:替换wandb为TensorBoard
- 点赞
- 收藏
- 关注作者
评论(0)