在Ubuntu上部署Stable Video Diffusion动画制作

Stable Diffusion团队推出的开源模型Stable Video Diffusion,支持生成约3秒的视频,分辨率为576×1024。通过测试视频展示了其令人瞩目的性能,SVD模型是一个生成图像到视频的扩散模型,通过对静止图像的条件化生成短视频。其特点主要包括:
1、微调优化: 通过在特定条件下进行微调,提高了视频输出的一致性和质量。
2、改进的生成性能: 在生成视频的清晰度、分辨率以及帧数方面可能有所改进,提供更为流畅和高质量的视觉体验。
3、固定条件下的性能提升: 通过在固定条件下进行微调,SVD在特定设置下展现出更优的性能。包括更好的运动一致性和视觉效果,同时保持了条件的可调整性,以适应不同的应用需求。
4、适应性和局限性:模型的生成视频较短,可能存在一些局限性,如生成视频中可能没有运动或摄像机移动缓慢。建议模型仅用于研究目的,不适合用于生成真实人物或事件的内容。

下面就让我们一起来配置一台SVD的服务器,试试他的效果吧!

环境准备:

在PVE4.17配置虚拟机一台:

Ubuntu22.04,内存32G(内存太小不行,运行过程中会意外中断)。

N卡:Nvidia P40

IP地址:192.168.29.201

一:克隆存储库

git clone https://github.com/Stability-AI/generative-models.git

二:安装部署SVD

1、设置虚拟环境

conda create -n svd python=3.10
conda activate svd

2、安装相关依赖

pip install -r requirements/pt2.txt
pip install pytorch-lightning

3、安装sgm

pip install .

4、安装ffmpeg

apt install ffmpeg

 三:下载模型

svd下载地址:https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt

两外模型的名称: 

(1)svd.safetensors

(2)svd_image_decoder.safetensors

svd_xt下载地址:https://huggingface.co/stabilityai/stable-video-diffusion-img2vid

 两个模型的名称:

(1)svd_xt.safetensors

(2)svd_xt_image_decoder.safetensors

放置位置: generative-models/checkpoints

其他两个模型,下载地址:
https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K/tree/main
https://openaipublic.azureedge.net/clip/models/b8cca3fd41ae0c99ba7e8951adf17d267cdb84cd88be6f7c2e0eca1737a03836/ViT-L-14.pt

将这两个模型放在以下目录:

(1)将models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K.tar拷贝至:

/root/.cache/huggingface/hub/models–laion–CLIP-ViT-H-14-laion2B-s32B-b79K.tar

然后执行:tar -zxvf models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K.tar

(2)将ViT-L-14.pt拷贝至:/root/.cache/clip/ViT-L-14.pt

如果找不到这六个模型也可以从百度网盘下载:

链接:https://pan.baidu.com/s/188W1Ska5YSoIc8czjssjEQ?pwd=9rvz 
提取码:9rvz 

四:运行

cd generative-models
streamlit run scripts/demo/video_sampling.py  --server.address  192.168.29.201  --server.port 7862

如果发生报错:ModuleNotFoundError: No module named 'scripts',那么请执行:

echo 'export PYTHONPATH=/generative-models:$PYTHONPATH' >>  /root/.bashrc
source /root/.bashrc

或者重启服务器,然后再执行运行指令。

 

五:代码修改

cd generative-models
vim ./scripts/demo/streamlit_helpers.py

#找到“cv2.VideoWriter_fourcc”, 修改为

writer = cv2.VideoWriter(
      video_path,
      cv2.VideoWriter_fourcc(*'m', 'p', '4' , 'v'),
      fps,
      (vid.shape[-1], vid.shape[-2]),
   )

注意: 那个【*】号不能少啊,否则mp4v的生成视频无法显示。

六:使用SVD

https://192.168.29.201:7862

1、加载模型

在Ubuntu上部署Stable Video Diffusion动画制作_第1张图片

在四外模型中,选择一个模型,然后点Load Model,加载模型。

在Ubuntu上部署Stable Video Diffusion动画制作_第2张图片

出现报错是因为需要上传一张图片,这里并没有错误。 

2、选择一张图片用于生成动画。

在Ubuntu上部署Stable Video Diffusion动画制作_第3张图片

上传图片后,注意这个选项:“Decodet frames at a time”,这里测试过程中我只能选2,也就是P40 24G最多也就只能处理2秒的视频,如果你需要一次处理更多的视频,就要换内存更大的N卡。点击【Sample】就可以生成动画视频了。

SVD可以做为ComfyUI的插件,在ComfyUI管理下,有更出色的内存管理,我们接下来会探讨如何将SVD安装在ComfyUI下面,有兴趣的小伙伴可关注意更新。

你可能感兴趣的:(ubuntu,linux)