当前位置: 首页 > news >正文

复现论文:DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization

论文:[2403.16697] DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization

github: 

TYLfromSEU/DPStyler: DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization

论文:

这篇论文还是在PromptStyler:Prompt-driven Style Generation for Source-free Domain Generalization基础上对一些架构进行修改的。

Contribution

Style Generation Module:

dynamically refresh style by regenerating all style word vectors including Random and StyleMix between epochs.(randomly select one method)

Style Removal Module:

propose a domain uncertainty loss after encoder, to reduce specific style information and learn domain-invariant features

Model Ensemble:inference stage

for each text template, train a model and each model is involved in the inference process

Because introducing more randomness into the training process

大致代码流程

 

复现结果

PACS

VLCS

OfficeHome

DomainNet

avg

ResNet-50

92.1__-1.5

81.4__-2.1

70.5__-2.0

45.5__-2.5

72.4__-2.0

ViT-B/16

96.6__-0.5

80.8__-3.2

56.9__-2.0

PACS:

Art Painting

Cartoon

Photo

Sketch

avg

ResNet-50

92.7__-1.3

96.4__+1.1

99.6__0

79.6__-5.9

92.1__-1.5

ViT-B/16

97.6__-0.1

99.2__+0.3

99.9__0

89.8__-2.1

96.6__-0.5

ResNet-50:

92.4 96.5 99.6 78.4

93.4 96.2 99.5 81.7

92.2 96.5 99.6 78.6

ViT-B/16:

97.6 99.3 99.9 89.0

97.6 99.1 99.9 90.8

97.6 99.2 99.9 89.6

VLCS:

VLCS

Caletch

LableMe

SUN09

VOC2007

avg

ResNet-50

100__0

65.0__-8.3

73.9__+2.1

86.5__-2.5

81.4__-2.1

ViT-B/16

100__0

59.7__-9.4

80.4__+4.1

82.9__-7.6

80.8__-3.2

ResNet-50:

100 67.9 87.2 74.2 82.325

100 62.2 85.7 73.0 80.225

100 64.4 86.7 74.4 81.375

81.304

ViT-B/16:

100 62.4 88.5 77.6 82.125

100 61.1 83.1 75.5 79.925

100 55.7 77 88 80.175

80.7417

Office-Home:

Office-Home

Art

Clipart

Product

Real World

avg

ResNet-50

72.3__-1.3

49.1__-2.1

78.8__-3.3

81.6__-1.3

70.5__-2.0

ViT-B/16

ResNet-50:

72.2 49 78.5 81.5

72.4 48.9 78.6 81.5

72.4 49.3 79.3 81.7

ViT-B/16:

DomainNet:

DomainNet

Clipart

Infograph

Painting

Quickdraw

Real

Sketch

avg

ResNet-50

51.6__-3.8

40.6__-0.9

53.4__-2.6

6.7__-0.4

73.4__-4.1

47.3__-2.4

45.5__-2.5

ViT-B/16

68.6__-2.7

49.5__-1.1

65.3__-1.5

15.8__-0.4

80.7__-3.0

61.7__-2.7

56.9__-2.0

ResNet-50:

51.5 40.7 53.5 6.7 73.6 47.3

51.7 40.4 53.4 6.7 73.3 47.3

51.5 40.7 53.4 6.8 73.2 47.4

ViT-B/16

68.7 49.6 65.3 15.9 80.8 61.8

68.4 49.4 65.2 15.9 80.6 61.6

68.8 49.5 65.3 15.7 80.8 61.7

报错:

1、ERROR: Ignored the following versions that require a different python version:

23.10.0 Requires-Python >=3.8; 23.10.1 Requires-Python >=3.8; 23.11.0 Requires-Python >=3.8; 23.12.0 Requires-Python >=3.8; 23.12.1 Requires-Python >=3.8; 23.7.0 Requires-Python >=3.8; 23.9.0 Requires-Python >=3.8; 23.9.1 Requires-Python >=3.8; 24.1.0 Requires-Python >=3.8; 24.1.1 Requires-Python >=3.8; 24.10.0 Requires-Python >=3.9; 24.1a1 Requires-Python >=3.8; 24.2.0 Requires-Python >=3.8; 24.3.0 Requires-Python >=3.8; 24.4.0 Requires-Python >=3.8; 24.4.1 Requires-Python >=3.8; 24.4.2 Requires-Python >=3.8; 24.8.0 Requires-Python >=3.8 ERROR: Could not find a version that satisfies the requirement clip==1.0 (from versions: 0.0.1, 0.1.0, 0.2.0) ERROR: No matching distribution found for clip==1.0 failed CondaEnvException: Pip failed

原因:直接使用作者github上面的environment.yml文件发生报错。里面的配置有的用python3.7,有的用3.8很混乱。搞不懂作者是怎么配置的。

但是使用我之前配置的虚拟环境也可以这场运行这篇论文的代码。

链接:zhanghr2001/PromptTA: Source-free Domain Generalization

这是我之前复现这篇论文的环境,根据readme,配置到requirement.txt就可以。 

2、连接超时Connection timed out'

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=1gkbf_KaxoBws-GWT3XIPZ7BnkqbAxIFa (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f20626e8990>: Failed to establish a new connection: [Errno 110] Connection timed out'))

原因:要在作者给的github上的链接上面下载数据集,我用的之前的数据集,有一些问题。

3、ModuleNotFoundError: No module named ‘clip‘

命令:

pip install clip
pip install openai-clip

相关设置

1、数据集和模型名称设置

数据集:

PACS    VLCS     office_home_dg    domainnet:6个域文件+split文件夹(每个域的_train.txt和_test.txt)

模型名称:NET=resnet50_clip
vitb16_clip
vitl14_clip

2、运行命令

复现DPStyler命令:
sh run_clip_pacs.sh
sh run_clip_vlcs.sh
sh run_clip_office_home.sh
sh run_clip_domainnet.sh

这个作者还提供了复现PromptStyler的代码:

这个作者复现PromptStyler命令:
sh run_clip_pacs_ps.sh
sh run_clip_vlcs_ps.sh
sh run_clip_office_home_ps.sh
sh run_clip_domainnet_ps.sh


3、tensorboard命令查看

tensorboard --logdir ./output/vlcs/NS80_lr5_arcface_5_0.5_E100_resnet50_clip_R_wohead/seed3/tensorboard  --load_fast true  --port 6007

若显示端口被占用再加上 --load_fast true  --port 6007

相关文章:

复现论文:DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization

论文&#xff1a;[2403.16697] DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization github: TYLfromSEU/DPStyler: DPStyler: Dynamic PromptStyler for Source-Free Domain Generalization 论文: 这篇论文还是在PromptStyler:Prompt-driven Style Gener…...

6.将cr打包成网络服务|使用postman进行测试|编写oj_server的服务路由功能(C++)

将cr打包成网络服务 compile_server.cc #include "compile_run.hpp" #include "../comm/httplib.h"using namespace ns_compile_and_run; using namespace httplib;//编译服务随时可能被多个人请求&#xff0c;必须保证传递上来的code&#xff0c;形成源…...

基于SpringBoot + Vue的共享汽车(单车)管理系统设计与实现+毕业论文+开题报告+指导搭建视频

本系统包含管理员、用户两个角色。 管理员角色&#xff1a;个人中心管理、用户管理、投放地区管理、汽车信息管理、汽车投放管理、汽车入库管理、使用订单管理、汽车归还管理。 用户角色&#xff1a;注册登录、汽车使用下单、汽车归还。 本共享汽车管理系统有管理员和用户。管…...

Day54(补)【AI思考】-SOA,Web服务以及无状态分步解析与示例说明

文章目录 **SOA&#xff0c;Web服务以及无状态**分步解析与示例说明**分步解析与示例说明****1. 核心概念解析****2. 为什么说SOA与Web服务是“正交的”&#xff1f;****3. 架构风格 vs. 实现技术****4. 接口&#xff08;Interface&#xff09;的核心作用****5. Web服务的“被认…...

回溯算法之组合和排列问题

文章目录 1.什么是回溯算法2.回溯算法解题步骤3.回溯算法解决组合问题4.回溯算法解决排列问题 1.什么是回溯算法 回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略&#xff0c;它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。 2…...

gihub上适合练手的Python项目

GitHub 上有许多适合练手的 Python 项目&#xff0c;涵盖了从初学者到中级开发者的不同难度级别。以下是一些推荐的项目类型和具体示例&#xff0c;帮助你提升 Python 编程技能&#xff1a; 1. 基础项目 适合初学者&#xff0c;帮助掌握 Python 基础语法和常用库。 示例项目&…...

解锁CSnakes:.NET与Python的融合魔法

一、引言 在软件开发的广袤领域中&#xff0c;我们常常面临各种复杂的业务需求和技术挑战。不同的编程语言犹如各具特色的工具&#xff0c;它们在不同的场景下展现出独特的优势。例如&#xff0c;C# 以其强大的类型系统和丰富的类库&#xff0c;在企业级应用开发中占据重要地位…...

Python常见面试题的详解16

1. 如何强行关闭客户端和服务器之间的连接&#xff1f; 在网络编程中&#xff0c;有时需要强行中断客户端和服务器之间的连接。对于基于 TCP 协议的连接&#xff0c;由于其面向连接的特性&#xff0c;需要采取特定的步骤来确保连接被正确关闭&#xff1b;而 UDP 是无连接协议&a…...

建筑兔零基础自学python记录29|实战词云可视化项目——分人物阵营词云(上)7

我们在上次情感分析的基础上&#xff0c;不分积极消极&#xff0c;按文本中人物的阵营分为3队。可以猜想按照积极消极分类是有现成的feeling可以分析&#xff0c;但人物阵营却是没有现成资料&#xff0c;需要额外给出信息的。 图1 图2 上面两图的文字大小和数量有区别&#xf…...

Vi 编辑器基本使用指南

一、Vi 编辑器的启动与退出 启动 Vi 编辑器 在终端中&#xff0c;输入vi加上要编辑的文件名&#xff0c;如vi example.txt&#xff0c;如果example.txt存在&#xff0c;Vi 编辑器会打开该文件&#xff1b;若不存在&#xff0c;则会创建一个新的空文件并打开。如果只输入vi&am…...

22、《Spring Boot消息队列:RabbitMQ延迟队列与死信队列深度解析》

Spring Boot消息队列实战&#xff1a;RabbitMQ延迟队列与死信队列深度解析 引言 在现代分布式系统中&#xff0c;消息队列承担着解耦、削峰填谷和异步通信的重要职责。本文将深入探讨Spring Boot与RabbitMQ的整合应用&#xff0c;重点解析延迟队列与死信队列的实现原理及实战…...

linux 命令+相关配置记录(持续更新...)

linux 命令记录相关配置记录 磁盘切换 cd D&#xff1a;#这里表示切换到D盘查看wsl 安装的linux 子系统 wsl --list -vwsl 卸载 linux 子系统 wsl --unregister -xxx # xxx 表示子系统的名字备份Linux 子系统 导出 wsl --export xxx yyy # xxx 表示子系统的名字 yyy 表示压…...

ssh工具

文章目录 ssh简介ssh远程连接Linux下使用SSH安装安装ssh服务端安装ssh客户端 命令启动重启查看ssh的状态 ssh 配置文件ssh连接地址 配置文件基本配置注意通配符心跳和密钥ssh的Include跳板 ProxyJump内网穿透 Windows下使用SSH安装ssh 配置文件ssh连接地址 配置文件 ssh简介 s…...

LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI诗词数据分析师

背景 前面的文章通过 Ollama 私有化部署了 Qwen2.5 (7B) 模型&#xff0c;然后使用 Docker Compose 一键部署了 Dify 社区版平台。 LLM大语言模型私有化部署-使用Dify与Qwen2.5打造专属知识库&#xff1a;在 Dify 平台上&#xff0c;通过普通编排的方式&#xff0c;创建了基于…...

Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(二)

在 GPU0 和 GPU1 之间共享数据 在某些情况下&#xff0c;也许可以在某些时候带来更好的用户体验&#xff1a; GPU0 和 GPU1 来自同一个 IHV。GPU0 可以将操作系统无法解读的显示配置相关信息传递给 GPU1。 数据 Blob 由 GUID 描述&#xff0c;如果 GPU1 的驱动程序能理解数据…...

基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志

一、修改所有节点主机名 主节点就修改成master hostnamectl set-hostname master 然后输入bash刷新当前主机名 工作节点1就修改成node1 hostnamectl set-hostname node1 然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间 yum -y install socat conntrack ebta…...

软考教材重点内容 信息安全工程师 第17章 网络安全应急响应技术原理与应用

17.1 网络安全应急响应概述 网络安全应急响应是针对潜在发生的网络安全事件而采取的网络安全措施。 17.1.1 网络安全应急响应概念 网络安全应急响应是指为应对网络安全事件&#xff0c;相关人员或组织机构对网络安全事件进行监测、预警、分析、响应和恢复等工作。 17.2.3 网络安…...

使用 DeepSeek + OmniParser v2 + UIAutomation 实现 GUI 应用自动化测试的探索

一、背景 UI 自动化测试一直是软件开发中的难点之一。尽管有许多工具和技术(如 Selenium、Appium 等)可以帮助我们实现自动化测试,但这些工具在面对复杂的 UI 变化时,往往需要大量的维护工作。随着人工智能技术的进步,尤其是自然语言处理(NLP)和计算机视觉(CV)技术的…...

Spring Security面试题

Spring Security面试题 基础概念 Q1: Spring Security的核心功能有哪些&#xff1f; public class SecurityBasicDemo {// 1. 基本配置public class SecurityConfigExample {public void configDemo() {ConfigurationEnableWebSecuritypublic class SecurityConfig extends …...

从零开始构建基于DeepSeek的智能客服系统

在当今的数字化时代,智能客服系统已经成为企业与客户沟通的重要桥梁。它不仅能够提升客户体验,还能大幅降低企业的运营成本。本文将带领你从零开始,使用PHP和DeepSeek技术构建一个功能强大的智能客服系统。我们将通过具体的案例和代码示例,深入探讨如何实现这一目标。 1. …...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...