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

news2024/12/24 9:38:20

目录

写在前面

一、克隆或下载项目

二、下载预训练模型

三、创建环境

四、安装依赖

五、启动项目

六、解决报错

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/目录下:

三、创建环境

        创建一个独立的环境,比如叫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这一行。

        手动下载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,就会加载模型了。

六、解决报错

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

1.预训练模型下不来

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

(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:

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

七、测试

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

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

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

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

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

c168ea67aa0d45e4a8db954fd4eaa145.jpeg


交流探讨、商务合作请加微信

ddac0a92f7884455ae19fa73f5bf6dbd.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为机考入门python3--(30)牛客30-字符串合并处理

分类:字符串、进制转换 知识点: 获取偶数下标的字符 even_chars my_str[::2] 获取奇数下标的字符 odd_chars my_str[1::2]) 翻转字符串 reversed_str my_str[::-1] 二进制转十进制 num int(reversed_binary, 2) 十进制转十六进制 …

JWT的生成

引依赖 生成JWT JWT校验 注意

Kubernetes(k8s) v1.30.1 本地集群部署 安装metallb 支持LoadBalancer 生产环境 推荐 BGP模式部署

1 metallb 安装参考:Kubernetes(k8s) v1.30.1 本地集群部署 默认不支持LoadBalancer metallb来解决-CSDN博客 2 删除 Layer 2 模式 配置 kubectl delete -f IPAddressPool.yaml kubectl delete -f L2Advertisement.yaml kubectl delete -f discuz-srv.yaml 3 配置 k8s Metal…

IDEA 2024.1安装与破解

一、下载 官网地址:https://www.jetbrains.com/idea/download/other.html 二、安装 傻瓜式安装即可 三、破解 3.1 破解程序 网站:https://3.jetbra.in/ 3.2 获取激活码 点击*号部分即可复制成功

【机器学习】——线性模型

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

typescript 配置精讲 | moduleResolution

大家好,我是17。 moduleResolution 是 typescript 模块配置中最重要的一个配置,所以 17 单拿出来讲一下。如果你去看文档还是挺复杂的,但如果不去深究细节,只想知道如何配置还是很简单的。3 分钟就能学会。 moduleResolution 的…

neo4j开放远程连接

注:本博客所用neo4j版本为社区5.12版 第一步:修改neo4j配置文件 首先找到neo4j的安装位置,点击进入conf文件夹,随后点击neo4j.conf文件,在“Network connector configuration”下面的单元中找到server.default_liste…

奥枫软件Java要个16K遇到地狱级难度,醉了。。。

我只能说地狱难度,没绝对把握就别去了。我凭借前辈的经验,和当时天时地利人和,六道题答得很不错,但还是没通过。我有备而来都没过,现场写那些应该都是白忙活了。 一面 1,分割一个整数。如123,结…

贪心-AcWing 125. 耍杂技的牛-XMUOJ蒙德冒险者的游戏

题目 思路 每头牛的危险值 他前面牛的w(重量值)之和 - 自身的s(强壮值) 要使每头牛的危险值最小,根据贪心思想: 自身w值越大应该放到底部(即减小上述式中的被减数) 自身s值越大应该放到底部(即增大上述式中的减数&…

KingbaseES数据库union的用法

数据库版本:KingbaseES V008R006C008B0014 文章目录如下 1. union的概念 2. union的语法 3. union的用法 3.1. 去重(union) 3.2. 不去重(union all) 3.3. 聚合运算 3.4. 异常案例 1. union的概念 UNION 是结构…

ClickHouse架构概览 —— Clickhouse 架构篇(一)

文章目录 前言Clickhouse 架构简介Clickhouse 的核心抽象列和字段数据类型块表 Clickhouse 的运作过程数据插入过程数据查询过程数据更新和删除过程 前言 本文介绍了ClickHouse的整体架构,并对ClickHouse中的一些重要的抽象对象进行了分析。然后此基础上&#xff0…

揭秘OS模块:文件与文件夹的遍历艺术

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、os.listdir():当前目录的扫描者 三、os.walk():文件系…

深度学习——自己的训练集——训练模型(CNN)

训练模型 1.导入必要的库2.加载类别名称3.创建标签映射字典4.加载图像数据和对应的标签5.构建和编译CNN模型6.训练模型7.保存训练好的模型 1.导入必要的库 导入处理数据和训练模型时需要的库 os: 这个模块提供了与操作系统交互的功能,比如文件和目录操作。 cv2: 这…

如何选择优质的气膜体育馆工程服务商—轻空间

随着现代生活的便利化和时代感的增强,气膜体育馆成为越来越多人的选择。这种美观实用的建筑在学校、社区和体育中心等地广泛应用。许多投资者和客户都有意建造气膜体育馆,但在选择工程服务商时,往往面临困惑。以下几点将帮助您做出明智的选择…

grafana大盘展示node_expod节点

node_expod添加lables标签 Prometheus查询 语句查询 node_exporter_build_infografna添加变量查询 正常有值 切换其他的是有值的 我的报错原因 因为有多个数据源,我选择错了,因为修改的lable标签是其他数据源,所以获取不到 查询语句 我的变量是 $app node_filesyste…

【优选算法】位运算 {位运算符及其优先级;位运算的应用:判断位,打开位,关闭位,转置位,位图,get lowbit,close lowbit;相关编程题解析}

一、位运算符及其优先级 我们知道,计算机中的数在内存中都是以二进制形式进行存储的 ,而位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性…

SpringBoot 上传文件示例

示例效果&#xff1a; 前端代码&#xff1a; <html> <head><title>上传文件示例</title></head> <body> <h2>方式一&#xff1a;普通表单上传</h2> <form action"/admin/upload" method"post" enctyp…

【Python】 Django 框架如何支持百万级日访问量

基本原理 Django 是一个高级的 Python Web 框架&#xff0c;它鼓励快速开发和干净、实用的设计。Django 遵循 MVC&#xff08;模型-视图-控制器&#xff09;设计模式&#xff0c;允许开发者通过编写更少的代码来构建高质量的 Web 应用程序。Django 自带了许多内置功能&#xf…

Python-opencv通过距离变换提取图像骨骼

文章目录 距离变换distanceTransform函数 距离变换 如果把二值图像理解成地形&#xff0c;黑色表示海洋&#xff0c;白色表示陆地&#xff0c;那么陆地上任意一点&#xff0c;到海洋都有一个最近的距离&#xff0c;如下图所示&#xff0c;对于左侧二值图像来说&#xff0c;【d…

嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…