问题清除指南|AEROBLADE论文复现相关要点总结

前言:本篇博客总结本人在复现 CVPR 2024 论文 AEROBLADE 过程中遇到的一些问题及解决方案。
注:仅仅使用了论文github源码中的Quickstart部分。

论文链接🔗:AEROBLADE: Training-Free Detection of Latent Diffusion Images Using Autoencoder Reconstruction Error
github链接🔗:https://github.com/jonasricker/aeroblade/tree/main


在这里插入图片描述

1. 环境配置

把github整个项目下载下来之后,首先按readme.md中的步骤新建conda环境,注意使用Python 3.10,因为使用其他python版本可能会在程序运行时报错。

本人使用的是3.10.14版本,顺利运行。

2. 脚本运行

运行 run_aeroblade.py 脚本,分别使用各个生成模型生成重建图像并计算与原始图像的距离。

2.1 图像尺寸统一

这涉及parse_args() 函数中的 --files-or-dirs参数,修改成自己数据所在的路径。这里主要注意两点:

1)每个目录下的所有图像尺寸要一致,即: ( H , W ) i = ( H , W ) j , ∀ i ∀ j ∈ D i r e c t o r y (H,W)_{i} = (H,W)_{j},\forall i ~\forall j \in Directory (H,W)i=(H,W)j,i jDirectory,不然会报如下错误:

  File "/newdata/RelatedWorks/AIGCForensics/aeroblade-main/scripts/run_aeroblade.py", line 93, in <module>main(parse_args())File "/newdata/RelatedWorks/AIGCForensics/aeroblade-main/scripts/run_aeroblade.py", line 17, in maindistances = compute_distances(File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/high_level_funcs.py", line 73, in compute_distancesFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_contextreturn func(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 44, in computeFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 194, in _computeFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 655, in __call__return self._cached_call(args, kwargs)[0]File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 598, in _cached_callout, metadata = self.call(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 856, in calloutput = self.func(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 149, in _compute_lpipsFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_implreturn self._call_impl(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_implreturn forward_call(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 85, in forward
RuntimeError: The size of tensor a (510) must match the size of tensor b (504) at non-singleton dimension 3

2)每张图像的长和宽也要一致,即: H i = W i , ∀ i ∈ D i r e c t o r y H_{i} = W_{i}, \forall i \in Directory Hi=Wi,iDirectory,不然会报如下错误:

Setting up [LPIPS] perceptual loss: trunk [vgg], v[0.1], spatial [on]
Loading model from: /root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/lpips/weights/v0.1/vgg.pth
Computing LPIPS:   0%|                                                                                                                                                                             | 0/1 [00:00<?, ?it/s]
Traceback (most recent call last):                                                                                                                                                                 | 0/1 [00:00<?, ?it/s]File "/newdata/RelatedWorks/AIGCForensics/aeroblade-main/scripts/run_aeroblade.py", line 93, in <module>main(parse_args())File "/newdata/RelatedWorks/AIGCForensics/aeroblade-main/scripts/run_aeroblade.py", line 17, in maindistances = compute_distances(File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/high_level_funcs.py", line 73, in compute_distancesFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_contextreturn func(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 44, in computeFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 194, in _computeFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 655, in __call__return self._cached_call(args, kwargs)[0]File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 598, in _cached_callout, metadata = self.call(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/joblib/memory.py", line 856, in calloutput = self.func(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 149, in _compute_lpipsFile "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_implreturn self._call_impl(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_implreturn forward_call(*args, **kwargs)File "/root/anaconda3/envs/aeroblade/lib/python3.10/site-packages/aeroblade-0.0.0-py3.10.egg/aeroblade/distances.py", line 85, in forward
RuntimeError: The size of tensor a (510) must match the size of tensor b (504) at non-singleton dimension 3

2.2 模型参数加载

这涉及parse_args() 函数中的--autoencoders参数。由于网络原因,可以预先把用到的生成模型下载下来,然后替换成绝对路径。

该参数默认的三个模型及版本分别是CompVis/stable-diffusion-v1-1stabilityai/stable-diffusion-2-base以及kandinsky-community/kandinsky-2-1.

下载方式有两种,1)在huggingface官网手动下载,2)使用huggingface的镜像下载,后者方式如下:

# linux环境下,依次在终端执行下列命令:
1 pip install -U huggingface_hub
2. export HF_ENDPOINT=https://hf-mirror.com
3. huggingface-cli download --resume-download 模型名称 --local-dir 模型保存路径

其中,模型名称CompVis/stable-diffusion-v1-1,不能简写成stable-diffusion-v1-1,因为要和huggingface官网上的模型名称对应才能准确找到下载的模型。模型保存路径就是--autoencoders参数中要给出的路径,每个模型对应一个路径。

本人在下载kandinsky-2-1时尝试多次,最后不知怎么就好了……可能是由于网络原因,遇到相关问题建议大家多尝试几次。

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

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

相关文章

Qt初识_对象树

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 Qt初识_对象树 收录于专栏【Qt开发】 本专栏旨在分享学习Qt的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 什么是对象树 为什么要引…

排序算法(3):插入排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 插入排序 插入排序将序列分为已排序和未排序两部分&#xff0c;每次从未排序部分取出第一个元素&#xff0c;插入到已排序部分的适当位置。重复此过程直到所有元素排序完成。 图解 初始化第一个元素为已排序部分&#xff0…

Java版-图论-最小生成树-Kruskal算法

实现描述 为了造出一棵最小生成树&#xff0c;我们从最小边权的边开始&#xff0c;按边权从小到大依次加入&#xff0c;如果某次加边产生了环&#xff0c;就扔掉这条边&#xff0c;直到加入了 n-1 条边&#xff0c;即形成了一棵树。 实现代码 首选我们对所有的边&#xff0c…

深入解析 Spring Security —— 打造高效安全的权限管理体系

目录 前言1. 初识 Spring Security1.1 Spring Security 的两大核心功能1.2 Spring Security 的主要特点 2. 配置 Spring Security2.1 配置类概述2.2 基础配置示例2.3 示例解析 3. Spring Security 的进阶功能3.1 自定义用户服务3.2 注解式权限控制3.3 动态权限控制 4. 实战应用…

JetBrains IDE(IDEAWebStorm)配置GitHub Copilot

关于 GitHub Copilot 和 JetBrains IDE GitHub Copilot 在编写代码时提供 AI 对程序员的自动完成样式的建议。 有关详细信息&#xff0c;请参阅“关于 GitHub Copilot Individual”。 如果使用 JetBrains IDE&#xff0c;可以直接在编辑器中查看并合并来自 GitHub Copilot 的…

OLLAMA+FASTGPT+M3E 大模型本地化部署手记

目录 1.安装ollama 0.5.1 2.下载大模型 qwen2.5 3b 3.开启WSL 4.更新wsl 5.安装ubuntu 6.docker下载 6.1 修改docker镜像源 6.2 开启WSL integration 7.安装fastgpt 7.1 创建fastgpt文件夹 7.2 下载fastgpt配置文件 8.启动容器 9.M3E下载 9.1 下载运行命令 9.2…

Go的Gin比java的Springboot更加的开箱即用?

前言 隔壁组的云计算零零后女同事&#xff0c;后文简称 云女士 &#xff0c;非说 Go 的 Gin 框架比 Springboot 更加的开箱即用&#xff0c;我心想在 Java 里面 Springboot 已经打遍天下无敌手&#xff0c;这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗&#xff0c;非我要…

神经网络中的过拟合问题及其解决方案

目录 ​编辑 过拟合的定义与影响 过拟合的成因 1. 模型复杂度过高 2. 训练数据不足 3. 训练时间过长 4. 数据特征过多 解决方案 1. 数据增强 2. 正则化 3. Dropout 4. 提前停止 5. 减少模型复杂度 6. 集成学习 7. 交叉验证 8. 增加数据量 9. 特征选择 10. 使…

Pull down筛靶策略丨筛选药物与潜在靶蛋白之间相互作用的体外技术

小分子药靶筛选的Pull down实验是一种有效的筛选药物与潜在靶蛋白之间相互作用的体外技术。利用生物分子之间的亲和力原理&#xff0c;将生物素标记的小分子化合物固定在链霉亲和素的磁珠上&#xff0c;与蛋白裂解液进行孵育&#xff0c;孵育结束后与小分子结合的蛋白可以通过质…

Certimate自动化SSL证书部署至IIS服务器

前言&#xff1a;笔者上一篇内容已经部署好了Certimate开源系统&#xff0c;于是开始搭建部署至Linux和Windows服务器&#xff0c;Linux服务器十分的顺利&#xff0c;申请证书-部署证书很快的完成了&#xff0c;但是部署至Windows Server的IIS服务时&#xff0c;遇到一些阻碍&a…

UnityShaderLab 实现黑白着色器效果

实现思路&#xff1a;取屏幕像素的RGB值&#xff0c;将三个通道的值相加&#xff0c;除以一个大于值使颜色值在0-1内&#xff0c;再乘上一个强度值调节黑白强度。 在URP中实现需要开启Opaque Texture ShaderGraph实现&#xff1a; ShaderLab实现&#xff1a; Shader "Bl…

No.4 笔记 探索网络安全:揭开Web世界的隐秘防线

在这个数字时代&#xff0c;网络安全无处不在。了解Web安全的基本知识&#xff0c;不仅能保护我们自己&#xff0c;也能帮助我们在技术上更进一步。让我们一起深入探索Web安全的世界&#xff0c;掌握那些必备的安全知识&#xff01; 1. 客户端与WEB应用安全 前端漏洞&#xff1…

LeetCode 热题 100_环形链表(25_141_简单_C++)(哈希表;快慢指针)

LeetCode 热题 100_环形链表&#xff08;25_141&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;哈希表&#xff09;&#xff1a;思路二&#xff08;快慢指针&#xff09;&#xff1a; 代码实现代码实现&…

GTC2024 回顾 | 优阅达携手 HubSpot 亮相上海,赋能企业数字营销与全球业务增长

从初创企业入门到成长型企业拓展&#xff0c;再到 AI 驱动智能化运营&#xff0c;HubSpot 为企业的每步成长提供了全方位支持。 2024 年 11 月下旬&#xff0c;备受瞩目的 GTC2024 全球流量大会&#xff08;上海&#xff09;成功举办。本次大会汇聚了全国内多家跨境出海领域企业…

Text2SQL(NL2sql)对话数据库:设计、实现细节与挑战

Text2SQL&#xff08;NL2sql&#xff09;对话数据库&#xff1a;设计、实现细节与挑战 前言1.何为Text2SQL&#xff08;NL2sql&#xff09;2.Text2SQL结构与挑战3.金融领域实际业务场景4.注意事项5.总结 前言 随着信息技术的迅猛发展&#xff0c;人机交互的方式也在不断演进。…

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件&#xff1a;Tongweb7049M4已在http通道里配置了https&#xff08;如何配置https可以参考这个帖子&#xff1a;东方通TongWEB添加Https证书&#xff0c;开启SSL&#xff09; 遇到客户在配置了https后&#xff0c;扫描漏洞提示&#xff1a; 有关SSL/TLS 服务器瞬时 Dif…

Jenkins部署svn项目

下载 Jenkins 的安装和设置 加载插件太慢&#xff0c;更换镜像地址 http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 安装svn插件 安装Deploy to container Plugin 工具配置jdk和maven 后端部署 源码管理添加svn地址和认证 增加构建步骤 Invoke to…

嵌入式入门Day27

IO day3 文件IO文件描述符分配过程 相关函数 作业 文件IO 文件IO&#xff1a;基于系统调用的API函数接口特点&#xff1a;每一次调用文件IO&#xff0c;系统都会从用户态到内核态之间切换&#xff0c;效率很低作用&#xff1a;后期学习进程间通信&#xff0c;管道&#xff0c;…

复现论文:PromptTA: Prompt-driven Text Adapter for Source-freeDomain Generalization

github&#xff1a;zhanghr2001/PromptTA: Source-free Domain Generalization 论文&#xff1a;[2409.14163] PromptTA: Prompt-driven Text Adapter for Source-free Domain Generalization 自己标注&#xff1a;PromptTA: Prompt-driven Text Adapter for Source-free Domai…

记录 idea 启动 tomcat 控制台输出乱码问题解决

文章目录 问题现象解决排查过程1. **检查 idea 编码设置**2. **检查 tomcat 配置**3.检查 idea 配置文件4.在 Help 菜单栏中&#xff0c;修改Custom VM Options完成后保存&#xff0c;并重启 idea 问题现象 运行 tomcat 后&#xff0c;控制台输出乱码 解决排查过程 1. 检查 id…