【复现】vid2vid_zero

问题及解决方法总结。

code:GitHub - baaivision/vid2vid-zero: Zero-Shot Video Editing Using Off-The-Shelf Image Diffusion Models

1.AttributeError: 'UNet2DConditionModel' object has no attribute 'encoder'

据说是预训练模型结构不匹配,偷懒把animatediff用的sd-v1-5搬过来果然不行。。老实下载sd-v1-4去了

网址:https://huggingface.co/CompVis/stable-diffusion-v1-4/tree/main

漫长的下载 x N

2.HFValidationError

File "/opt/conda/envs/vid2vid/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_idraise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/data/vid2vid-zero/checkpoints/stable-diffusion-v1-4'. Use `repo_type` argument if needed.

本来以为是文件路径写的不对,但检查了好几遍可以排除这个原因,查找报错的文件:

File "/opt/conda/envs/vid2vid/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id

找到validators.py 文件 line 158:

    if repo_id.count("/") > 1:raise HFValidationError("Repo id must be in the form 'repo_name' or 'namespace/repo_name':"f" '{repo_id}'. Use `repo_type` argument if needed.")

就是说Path to off-the-shelf model输入里的“/”大于1个就会报错

而且每次点start,控制台都会运行:

https://huggingface.co/xxx

 xxx是输入的Path to off-the-shelf model,比如这里就是

https://huggingface.co//data/vid2vid-zero/checkpoints/stable-diffusion-v1-4

可以看到是个错误的路径,代码里就要求输入能链接到Hugging Face Hub上的模型的格式,比如示例里给的输入是CompVis/stable-diffusion-v1-4,就会链接到在线模型:

https://huggingface.co/CompVis/stable-diffusion-v1-4

必须要改代码,让程序先查找本地模型,而不是直接去Hugging Face Hub在线用模型(因为会ConnectTimeoutError)

瞎改一通,runner.py里的download_base_model方法:

def download_base_model(self, base_model_id: str, token=None) -> str:# 设置模型文件的路径model_dir = self.checkpoint_dir / base_model_idorg_name = base_model_id.split('/')[0]org_dir = self.checkpoint_dir / org_name# 如果模型文件不存在,则创建一个空目录if not model_dir.exists():org_dir.mkdir(exist_ok=True)# 打印模型在Hugging Face Hub上的链接print(f'https://huggingface.co/{base_model_id}')print(token)print(org_dir)# 如果没有提供token,则使用Git Large File Storage (LFS)克隆模型if token == None:subprocess.run(shlex.split(f'git lfs install'), cwd=org_dir)subprocess.run(shlex.split(f'git lfs clone https://huggingface.co/{base_model_id}'),cwd=org_dir)return model_dir.as_posix()# 否则,使用Hugging Face Hub下载模型快照到临时路径,并返回临时路径else:temp_path = huggingface_hub.snapshot_download(base_model_id, use_auth_token=token)print(temp_path, org_dir)# 移动临时路径中的模型文件到目标路径# subprocess.run(shlex.split(f'mv {temp_path} {model_dir.as_posix()}'))# return model_dir.as_posix()return temp_path

改为: 

class Runner:def __init__(self, hf_token: str | None = None):self.hf_token = hf_tokenself.checkpoint_dir = pathlib.Path('checkpoints')self.checkpoint_dir.mkdir(exist_ok=True)def download_base_model(self, base_model_id: str, token=None) -> str:model_dir = self.checkpoint_dir / base_model_idorg_name = base_model_id.split('/')[0]org_dir = self.checkpoint_dir / org_nameif not model_dir.exists():org_dir.mkdir(exist_ok=True)# 加载本地模型文件的代码local_model_path = '/data/vid2vid-zero/checkpoints/stable-diffusion-v1-4'return local_model_path

app.py也要改一点

这个问题姑且是解决了

3. 缺少xformers

尝试1:官网下载GitHub - facebookresearch/xformers: Hackable and optimized Transformers building blocks, supporting a composable construction.

conda install xformers -c xformers

失败:默认下载最新版xformers=0.0.23,Requires ​ PyTorch 2.1.1,而我的配置:

环境:pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6

报了一堆不兼容的错

尝试2:参考教程Linux安装xFormers教程-CSDN博客

解决啦

其实还有一个问题是支持xformer的GPU最低算力是(7,0),但我的GPU是(6,1),不知道有啥问题,不过暂时还没报错,先不管了

4.OSError: Unable to load weights from checkpoint file

OSError: Unable to load weights from checkpoint file for '/data/vid2vid-zero/checkpoints/stable-diffusion-v1-4/unet/diffusion_pytorch_model.bin' at '/data/vid2vid-zero/checkpoints/stable-diffusion-v1-4/unet/diffusion_pytorch_model.bin'. If you tried to load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True.

原因:找不到文件,或者文件损坏

看了一下发现是copy到一半和服务器断联了,所以bin文件只上传了一半,删掉再重新上传

参考:解决huggingface中模型无法自动下载或者下载过慢的问题_pytorch_COHREZ-华为云开发者联盟

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

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

相关文章

架构师进阶,微服务设计与治理的 16 条常用原则

今天将从存储的上一层「服务维度」学习架构师的第二项常用能力 —— 微服务设计与治理。 如何设计合理的微服务架构? 如何保持微服务健康运行? 这是我们对微服务进行架构设计过程中非常关注的两个问题。 本文对微服务的生命周期定义了七个阶段&#x…

安装apisix详细教程

安装: docker安装ApiSi 常见问题-提前查阅 1-端口被占用 确保所需的所有端口(默认的 9080/9091/9443/2379/9000)未被其他系统/进程使用 #查询端口占用情况 netstat -antp |grep 9443 如果端口冲突可尝试修改apisix的端口配置, …

Vue 双向绑定:让数据与视图互动的魔法!(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站

WordPress是使用PHP语言开发的博客平台,在支持PHP和MySQL数据库的服务器上,您可以用WordPress架设自己的网站,也可以用作内容管理系统(CMS)。本教程介绍如何在CentOS 7.x操作系统的ECS实例上搭建WordPress网站。 背景…

springboot listener、filter登录实战

转载自&#xff1a; www.javaman.cn 博客系统访问&#xff1a; http://175.24.198.63:9090/front/index 登录功能 1、前端页面 采用的是layui-admin框架&#xff0c;文中的验证码内容&#xff0c;请参考作者之前的验证码功能 <!DOCTYPE html> <html lang"zh…

Java连接数据库的各种细节错误(细节篇)

目录 前后端联调&#xff08;传输文件&#xff09; ClassNotFoundException: SQLException: SQL语法错误: 数据库连接问题: 驱动问题: 资源泄露: 并发问题: 超时问题: 其他库冲突: 配置问题: 网络问题: SSL/TLS问题: 数据库权限问题: 驱动不兼容: 其他未知错误…

Docker-compose单机容器编排

YML文件是什么&#xff1f; YAML文件是一种标记语言&#xff0c;以竖列的形式展示序列化的数据格式。可读性很高类似于json格式。语法简单。 YAML通过缩进来表示数据结构&#xff0c;连续的项目用-符号来表示。 YML文件使用的注意事项 1、 大小写敏感 2、 通过缩进表示层级…

JavaScript实现飘窗功能

实现飘窗功能很简单 html代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title…

Ubuntu22.04添加用户

一、查看已存在的用户 cat /etc/passwd 二、添加用户 sudo adduser xxx 除了密码是必须的&#xff0c;其他的都可以不填&#xff0c;直接回车即可 三、查看添加的用户 cat /etc/passwd 四、将新用户添加到sudo组 sudo adduser xxx sudo 五、删除用户 sudo delus…

钉钉 × E签宝,打通系统屏障,实现钉钉审批通过后自动同步到E签宝发起签署并返回拖章链接全流程自动化

1 场景描述 成熟的业务体系需要用户的优质体验和高效的交易效率来支撑。而合同作为双方业务往来的法律保证&#xff0c;签合同已成为目前企业必不可少的重要一环。但传统的签署场景中&#xff0c;传统纸质合同的签署往往采用线下见面或邮寄的方式进行&#xff0c;不仅流程复杂&…

5 转向事件驱动的架构

文章目录 核心概念消息代理事件和消息了解事件异步消息通信响应式系统 事件驱动的利弊消息传递模式发布—订阅工作队列过滤器数据持久性 消息传递代理协议、标准和工具AMQP和RabbitMQ基本概念交换类型和路由消息确认和拒绝 设置RabbitMQ安装RabbitMQRabbitMQ管理界面 Spring AM…

pyqt5+QWebEngineView+pdfjs+win32print实现pdf文件的预览、打印

一、pdf显示逻辑 import sys from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgetsPDFJS file:///pdfjs-1.9.426-dist/web/viewer.html # PDFJS file:///usr/share/pdf.js/web/viewer.html PDF file:///D:/Code/report.pdfclass Window(QtWebEngineWidgets.QWebEngine…

数据结构:使用Stack完成表达式计算逻辑

题目&#xff1a; 给出如下串&#xff1a;sum(sum(sum(1,2),avg(3,5)),avg(avg(6,8),7))&#xff0c; 计算结果&#xff08;保证输入任意上述接口均能输出正确结果&#xff09; 思路&#xff1a; ​编辑 代码&#xff1a; import java.util.Stack;public class Test {public …

paddleocr文字识别变迁

数据挖掘 v3 UIM&#xff1a;无标注数据挖掘方案 UIM&#xff08;Unlabeled Images Mining&#xff09;是一种非常简单的无标注数据挖掘方案。核心思想是利用高精度的文本识别大模型对无标注数据进行预测&#xff0c;获取伪标签&#xff0c;并且选择预测置信度高的样本作为训…

LeetCode(57)合并两个有序链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 合并两个有序链表 1.题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4…

修改naive ui默认样式,css变量值修改

新项目开发使用了naive ui组件库&#xff0c;使用组件时涉及到css样式修改&#xff0c;可以直接在组件父容器上使用组件内自带的css变量&#xff0c;组件会自动继承父容器的css变量值&#xff0c;不会影响其他页面使用&#xff1b; 示例&#xff1a;一个注册表单&#xff0c;两…

Centos7 配置Git

随笔记录 目录 1&#xff0c; 新建用户 2. 给用户设置密码相关操作 3. 为新用户添加sudo 权限 4. 配置Git 4.1 配置Git 4.2 查看id_ras.pub 5, 登录Git 配置SSH 秘钥 6. Centos7 登录Git 7. clone 指定branch到本地 8. 将新代码复制到指定路径 9. 上传指定代码 …

生态系统NPP及碳源、碳汇模拟、土地利用变化、未来气候变化、空间动态模拟实践技术应用

碳中和可以从碳排放&#xff08;碳源&#xff09;和碳固定&#xff08;碳汇&#xff09;这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作用&#xff0c;准确地评估陆地生态系统碳汇及碳源变化对于研究碳循环过程、预测气候变化及制定合理政策具有重要意义。 CASA(…

生产实践:基于K8S私有化交付要注意这几点问题

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享 在使用 k8s 进行项目私有化部署时&#xff0c;会遇到很多问题&#xff0c;以下把作者经常遇到的一些问题以及需要注意的点分享给各位。 资源依赖问题 在进行私有化部署时&#xff0c;…

字符设备驱动开发基础

一. 简介 本文简单了解一下&#xff0c;在字符设备驱动开发开始前对其一些基本认识。简单了解一下&#xff0c;应用程序与驱动的交互原理&#xff0c;以及字符设备驱动开发流程。 二. 字符设备驱动开发流程 1. 在 Linux 中一切皆为文件&#xff0c;驱动加载成功以后会在“…