目录

写在前面

一、克隆或下载项目

二、下载预训练模型

三、创建环境

四、安装依赖

五、启动项目

六、解决报错

1.预训练模型下不来

2.TiffWriter.write() got an unexpected keyword argument 'fps'

3.安装ffmpeg

4.No module named 'scripts'

七、测试


写在前面

        Stable Video Diffusion可以将图片变成几秒的视频,从名字就能看出来它使用了Stable Diffusion。现在这个项目还处在早期实验阶段,预训练模型也是效果感人,不过可以试着自己训练。这里先只介绍SVD的安装,目标是项目跑起来,能把一张图片变成3秒左右的视频,下面开始。

一、克隆或下载项目

        比如项目被放在/mnt/generative-models-mian/目录中,项目地址如下:

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

二、下载预训练模型

        可用的有如下四个:

https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/blob/main/svd.safetensors
https://huggingface.co/stabilityai/stable-video-diffusion-img2vid/blob/main/svd_image_decoder.safetensors
https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/blob/main/svd_xt.safetensors
https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/blob/main/svd_xt_image_decoder.safetensors

       网盘地址:

https://pan.baidu.com/s/1vdBDgPl254FOxZP2LBsHGg?pwd=iyme 

        放在checkpoints/目录下:

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_视频

三、创建环境

        创建一个独立的环境,比如叫img2video:

conda create --name img2video python=3.10

四、安装依赖

conda activate img2video
cd /mnt/generative-models-main
pip3 install -r requirements/pt2.txt

        如果因为网络原因安装clip报错,就需要删掉pt2.txt中的clip这一行。

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_深度学习_02

        手动下载CLIP项目,然后在CLIP中执行命令安装clip:

python setup.py install

五、启动项目

conda activate img2video
cd generative-models-main
streamlit run scripts/demo/video_sampling.py  --server.address  0.0.0.0  --server.port 7862

然后访问地址http://[ip]:7862/就可以访问项目了,接下来选一个模型并点击Load Model,就会加载模型了。

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_深度学习_03

六、解决报错

        如果没有报错,恭喜你可以跳过这步。常见报错有下面几个:

1.预训练模型下不来

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_深度学习_04

        如果因为网络问题模型下载不下来,报上面这个错,就需要我们手动下载模型了,模型文件有两个:

(1)ViT-L-14.pt

官方地址:https://openaipublic.azureedge.net/clip/models/b8cca3fd41ae0c99ba7e8951adf17d267cdb84cd88be6f7c2e0eca1737a03836/ViT-L-14.pt

网盘地址:https://pan.baidu.com/s/10bSIsPEpC2SFqSxH87unIg?pwd=jsv9 

放在:/root/.cache/clip/ViT-L-14.pt

(2)open_clip_pytorch_model.bin

官方地址:https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K/blob/main/open_clip_pytorch_model.bin

网盘地址:https://pan.baidu.com/s/1_DDLVjbUnYxFTrrJaRQGCA?pwd=mqfl 

放在:/root/.cache/huggingface/hub/models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K/open_clip_pytorch_model.bin

如果还报上面的超时错误,就需要改改代码了。因为open_clip每次都会重新下载open_clip_pytorch_model.bin文件。根据报错,修改/root/anaconda3/envs/img2video/lib/python3.10/site-packages/open_clip/factory.py文件的create_model方法,把模型文件地址写死,虽然不优雅,但是能work:

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_pytorch_05

if pretrained:
    checkpoint_path = ''
    pretrained_cfg = get_pretrained_cfg(model_name, pretrained)
    if pretrained_cfg:
        # TODO 解决模型下载不下来的问题
        # checkpoint_path = download_pretrained(pretrained_cfg, cache_dir=cache_dir)
        checkpoint_path = "/root/.cache/huggingface/hub/models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K/open_clip_pytorch_model.bin"
        preprocess_cfg = merge_preprocess_dict(preprocess_cfg, pretrained_cfg)
    elif os.path.exists(pretrained):
        checkpoint_path = pretrained

2.TiffWriter.write() got an unexpected keyword argument 'fps'

        这是因为imageio版本问题:

pip install imageio==2.19.3

3.安装ffmpeg

        报找不到imageio-ffmpeg

pip install imageio-ffmpeg==0.4.7

4.No module named 'scripts'

        报ModuleNotFoundError: No module named 'scripts',需要添加环境变量

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

七、测试

        如果看到这个页面就证明成功了,下面的报错不用过管它,这是因为没上传图片

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_视频_06

        上传图片后,调整参数,下面三个红框分别为视频的高、宽、要生成的总帧数和一次处理多少帧,如果显存小的话可以改小这些参数。点“sample”等待就可以看到结果了。

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_stable diffusion_07

        下面的报错其实也不用管,结果是outputs/demo/vid/svd/samples/000009.mp4文件。

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_视频_08

        ubuntu安装Stable Video Diffusion(SVD)就介绍到这里,关注不迷路(#^.^#)

关注订阅号了解更多精品文章

ubuntu安装Stable Video Diffusion(SVD)让图片动起来_pytorch_09