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

目录

写在前面

一、克隆或下载项目

二、下载预训练模型

三、创建环境

四、安装依赖

五、启动项目

六、解决报错

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.mzph.cn/diannao/16637.shtml

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

相关文章

深入解析内置模块OS:让你的Python代码更懂操作系统

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、OS模块简介与基础应用 二、文件与目录操作详解 三、OS模块的高级应用:双色…

第5章:软件工程基础知识

软件工程 软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下4个方面。 (1)P(Plan)—软件规格说明。规定软件的功能及其运行时的限制。(2)**D(Do)**一软件开发。开发出满足规格说明的软件。(3)**C(Check…

力扣 90. 子集 II python AC

递归 class Solution:def __init__(self):self.nums Noneself.size Noneself.res []def dfs(self, ans, x0):if ans.copy() not in self.res:self.res.append(ans.copy())for i in range(x, self.size):ans.append(self.nums[i])self.dfs(ans, i 1)ans.pop()def subsetsWi…

web学习笔记(五十八)

目录 1. v-model 双向数据绑定 2. 事件修饰符 3. 路径别名 4. setup语法糖 4.1 语法糖的概念 4.2 setup语法糖 5. 配置代理服务器 1. v-model 双向数据绑定 v-model 双向数据绑定只能使用在表单标签; v-model双向数据绑定原理:采用 Object.de…

Go语言快速上手Zap日志库

1. Zap日志库简介 Zap是由Uber开源的Go语言日志库,以其高性能和易用性在Go社区中广受欢迎。它提供了丰富的日志记录功能,包括不同级别的日志记录、结构化日志输出、日志轮转等。对于Go语言开发者来说,Zap是一个非常好的选择,特别…

解决updateByExample时属性值异常的问题(部分属性值没有使用占位符?进行占位,而是变成了属性的名称)

目录 场景简介代码片断实体类 报错信息排查原因解决测试过程解决方案 场景简介 1、程序将mybatis框架升级为3.5.9版本后执行updateByExample方法时报错 代码片断 Condition condition new Condition(MbCcsSessionConfig.class); condition.createCriteria().andEqualTo(&quo…

【openlayers系统学习】4.3VectorTile 功能交互(指针悬停在要素上时,绘制矩形框)

三、 VectorTile 功能交互(指针悬停在要素上时,绘制矩形框) 矢量切片的好处是我们可以与要素交互,因为我们在客户端上有数据。但需要注意的一件事是矢量切片针对渲染进行了优化。这意味着要素仅包含过滤和渲染所需的属性&#xf…

panic: concurrent write to websocket connection【golang、websocket】

文章目录 异常信息原由代码错误点 解决办法 异常信息 panic: concurrent write to websocket connection原由 golang 编写 websocket go版本:1.19 使用了第三方框架: https://github.com/gorilla/websocket/tree/main 代码 server.go // Copyright …

【版本标记 | Github】Github 中常见的版本标记(Tags)有哪一些?分别在什么情况下使用?

背景 无论是自己自由开发项目还是公司协同合作,随着软件的迭代升级,都需要一个比较规范(好区分)的标记来区分不同的软件版本。通常,我们使用不同的数字来表示不同的版本,例如大版本号加上小版本号等&#…

Java核心:注解处理器

Java提供了一个javac -processor命令支持处理标注有特定注解的类,来生成新的源文件,并对新生成的源文件重复执行。执行的命令大概是这样的: javac -XprintRounds -processor com.keyniu.anno.processor.ToStringProcessor com.keyniu.anno.processor.Po…

基于微信小程序的在电影线订票小程序+web管理 uniapp,vue,ssm

基于微信小程序的在电影线订票小程序web管理 uniapp,vue,ssm 相关技术 javassmuniapp微信开发者工具hbuildervueelementui前后端分离 -mysql

PointCloudLib 点云半径滤波实现 C++版本

0.展示效果 滤波之前 1.算法原理 半径滤波原理非常直观,主要用于平滑三维点云数据并去除离群点。 设定搜索半径:首先,为每个点设定一个搜索半径r。这个半径定义了该点周围的一个球形区域。计算邻域点数:接着,计算每个点在其搜索半径r内的邻近点的数量。判断与过滤:根据…

集合框架有哪些

ava集合框架是一个架构,提供了一组接口和类,用于存储和操作一组数据。集合框架主要包含以下几种类型的集合: 1. 集合接口 集合框架中的主要接口包括: Collection:所有集合接口的根接口。List:有序集合&a…

xcode按下delete键不能删除不能使用,解决办法

有可能是按键冲突导致的问题,就是你不小心把delete键绑定了不同的快捷键,所以需要恢复所有的偏好设置和快捷键才可以,我这里就是这样的提示内容,在xcode中按delete键完全无效: 而且还会报红色提示:意思是不…

521源码-免费教程-经常用到的Vue.js的Vue@Cli入门指导

更多网站源码学习教程,请点击👉-521源码-👈获取最新资源:521源码-网站源码-资源素材-免费下载 Vue.js是一款流行的JavaScript框架,它使得构建交互式的Web界面变得简单和快捷。VueCli是Vue.js官方提供的脚手架工具&…

系统架构师必考题:Redis知识点

系统架构师必考题:Redis知识点 系统架构师案例分析题必考的缓存题目:Redis相关知识点。 1.安装与介绍 安装教程:https://blog.csdn.net/WeiHao0240/article/details/100030637 特点: 性能极高、丰富的数据类型、原子性操作、持…

【安卓12源码】Input子系统(1) - input启动流程

Android Input 体系中,大致有两种类型的事件:实体按键 key 事件,屏幕点击触摸事件。 如果根据事件类型的不同我们还能细分为基础实体按键的 key(power,volume up/down,recents,back,home)&#…

KingbaseES数据库union的用法

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

冷冻式压缩空气干燥机常见几种系统原理图

冷冻式压缩空气干燥机 我们以两种典型的设计流程图为例 1.干式蒸发型,这类冷干机是我们最为常见的设计型式。下图为deltech公司的典型流程图 此类设备各家设计不同的最大区别基本就是在换热器的结构型式上有比较大的区别。换热器主要有:管壳式、铝板换、…

typescript 配置精讲 | moduleResolution

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