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

github:zhanghr2001/PromptTA: Source-free Domain Generalization

论文:[2409.14163] PromptTA: Prompt-driven Text Adapter for Source-free Domain Generalization

自己标注:PromptTA: Prompt-driven Text Adapter for Source-free Domain Generalizationicon-default.png?t=O83Ahttps://github.com/Unchanged-Originality/Unchanged-Originality/blob/main/Prompt-driven%20Text%20Adapter%20for%20Source-free%20Domain%20Generalization.pdf

流程图:

这篇论文主要是受 Domain-Unified Prompt Representations for Source-Free Domain Generalization和PromptStyler: Prompt-driven Style Generation for Source-free Domain Generalization启发。

github:这两篇论文我读标记

复现结果: 

PACS

VLCS

OfficeHome

DomainNet

ResNet-50

94.0

83.3

74.1

ViT-B/16

97.4

84.9

82.9

PACS:

ResNet-50:

A:94.4 94.4 94.9 平均:94.733

C:95.3 95.2 95.2 95.233

P:99.5 99.5 99.5 99.5

s:86.5 86.4 86.7 86.567

平均 top - 1 准确率94.0

ViT-B/16:

a:97.9 97.9 98 97.933

C: 99.0 99.1 99.1 99.067

P:99.9 99.9 99.9 99.9

s:92.4 93.0 93.6 93

平均 top - 1 准确率97.475

VLCS:

ResNet-50:

C:100 100 100 平均:100

L:70.9 70.8 69.5 70.4

P:88.4 87.4 87.2 87.667

S:75.8 74.8 74.8 75.133

平均 top - 1 准确率83.3

ViT-B/16:

C:100 100 100 平均:100

L:71.3 74.7 75 73.667

P:89.8 90.4 90.1 90.1

S:77.1 75.3 76.0 76.133

平均 top - 1 准确率84.9

OfficeHome

ResNet-50:

A:73.3 73.3 73.5平均:73.367

C:55.3 55.2 55.0 55.167

P:84.2 84.3 83.9 84.133

R: 84.1 84.1 83.9 84.033

平均 top - 1 准确率74.1

ViT-B/16:

A:81.5 81.7 81.7 平均:81.633

C:70.1 70.0 70.6 70.233

P:89.7 90.0 89.8 89.833

r:90.0 90.3 90.2 90.167

平均 top - 1 准确率82.9

报错:

按照github配置环境过程中没出现问题。

AttributeError: module 'torch.utils.data' has no attribute 'collate'

改了半天,发现是原作者的引用错了

Traceback (most recent call last):
  File "train.py", line 10, in <module>
    from trainers import *
  File "/opt/data/private/promptta/trainers/__init__.py", line 4, in <module>
    from .prompt_ta import PROMPT_TA
  File "/opt/data/private/promptta/trainers/prompt_ta.py", line 12, in <module>
    from torch.utils.data import *
AttributeError: module 'torch.utils.data' has no attribute 'collate'

把prompt_ta.py文件中的   from torch.utils.data import *注释掉,改成

from torch.utils.data import DataLoader, Dataset
from torch.utils.data import TensorDataset

然后就可以正常运行了。

相关配置 

1、运行命令

bash scripts/prompt_ta/main_ta_all.sh pacs b128_ep50_pacs ViT-B/16 0 ./resume
bash scripts/prompt_ta/main_ta_all.sh pacs b128_ep50_pacs RN50 0 ./resume
bash scripts/prompt_ta/main_ta_all.sh vlcs b128_ep50_vlcs ViT-B/16 1 ./resume
bash scripts/prompt_ta/main_ta_all.sh vlcs b128_ep50_vlcs RN50 1 ./resume
bash scripts/prompt_ta/main_ta_all.sh office_home b128_ep50_officehome ViT-B/16 1 ./resume
bash scripts/prompt_ta/main_ta_all.sh office_home b128_ep50_officehome RN50 1 ./resume
bash scripts/prompt_ta/main_ta_all.sh domainnet b128_ep50_domainnet ViT-B/16 1 ./resume
bash scripts/prompt_ta/main_ta_all.sh office_home b128_ep50_domainnet RN50 1 ./resume


2、配置环境版本

conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch

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

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

相关文章

Dos脚本中的start命令

0 Preface/Foreword 1 Start介绍 start是用来启动一个应用或者一个bat脚本文件。 1.1 %*传递参数 %*&#xff1a;表示运行命令时传入的所有参数。 1.2 %processor_architecture% 系统处理器架构&#xff0c;内置变量。 echo %processor_architecture% 1.3 示例 echo He…

HTML笔记()蜘蛛纸牌之卡牌拖拽

效果 代码 <!DOCTYPE html> <html><head><style>body{display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #2b2b2b;position: relative;}.card{/*设置卡牌的外观*/width: 150px;height: 200px;background-…

基于SSM的线上考试系统的设计与实现(计算机毕业设计)+万字说明文档

系统合集跳转 源码获取链接 一、系统环境 运行环境: 最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 IDE环境&#xff1a; Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 tomcat环境&#xff1a; Tomcat 7.x,8.x,9.x版本均可 操作系统…

vue 封装全局方法及使用

1.找到项目中的utils定义js&#xff0c;这个js存放全局可使用的方法 2.去项目中main.js中引入注册 import publicFun from ./utils/test Vue.prototype.$publicFun publicFun;3.项目使用 ddd(){this.$publicFun.testwen()},

微信小程序中使用miniprogram-sm-crypto实现SM4加密攻略

在微信小程序开发过程中&#xff0c;数据安全至关重要。本文将为大家介绍如何在微信小程序中使用miniprogram-sm-crypto插件进行SM4加密&#xff0c;确保数据传输的安全性。 一、SM4加密简介 SM4是一种对称加密算法&#xff0c;由国家密码管理局发布&#xff0c;适用于商密领…

【论文阅读】相似误差订正方法在风电短期风速预报中的应用研究

文章目录 概述&#xff1a;摘要1. 引言2. 相似误差订正算法&#xff08;核心&#xff09;3. 订正实验3.1 相似因子选取3.2 相似样本数试验3.3 时间窗时长实验 4. 订正结果分析4.1 评估指标对比4.2 风速曲线对比4.3 分风速段订正效果评估4.4 风速频率统计 5. 结论与讨论 概述&am…

高中数学:计数原理-二项式定理

文章目录 一、二项式定理与通项公式二、二项式系数的性质 一、二项式定理与通项公式 我们先来看完全平方公式 二、二项式系数的性质

javaweb-Mybaits

1.Mybaits入门 &#xff08;1&#xff09;介绍 &#xff08;2&#xff09; 2.Mybaits VS JDBC 3.数据库连接池 &#xff08;1&#xff09;SpringBoot默认连接池为hikari&#xff0c;切换为Druid有两种方式 方式一&#xff1a;加依赖 方式二&#xff1a;直接修改配置文件 …

节点流和处理流

1. 基本介绍 节点流可以从一个特定的数据源读写数据&#xff0c;如FileReader、FileWriter 处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上&#xff0c;为程序提供更为强大的读写功能&#xff0c;也更加灵活&#xff0c;如BufferedReader、BufferedWriter 2. …

21个Python脚本自动执行日常任务(2)

引言 作为编程领域摸爬滚打超过十年的老手&#xff0c;我深刻体会到&#xff0c;自动化那些重复性工作能大大节省我们的时间和精力。 Python以其简洁的语法和功能强大的库支持&#xff0c;成为了编写自动化脚本的首选语言。无论你是专业的程序员&#xff0c;还是希望简化日常工…

数据结构--树和二叉树

树和二叉树的定义 树的定义 树是一种非线性的数据结构&#xff0c;它模拟了具有层次关系的数据的集合。在树结构中&#xff0c;存在以下基本概念&#xff1a; 节点&#xff08;Node&#xff09;&#xff1a;树的每个元素被称为节点。根节点&#xff08;Root Node&#xff09…

RabbitMQ七种工作模式之 RPC通信模式, 发布确认模式

文章目录 六. RPC(RPC通信模式)客户端服务端 七. Publisher Confirms(发布确认模式)1. Publishing Messages Individually(单独确认)2. Publishing Messages in Batches(批量确认)3. Handling Publisher Confirms Asynchronously(异步确认) 六. RPC(RPC通信模式) 客⼾端发送消息…

推送(push)项目到gitlab

文章目录 1、git init1.1、在当前目录中显示隐藏文件&#xff1a;1.2、查看已有的远程仓库1.3、确保你的本地机器已经生成了 SSH 密钥&#xff1a;1.4、将生成的公钥文件&#xff08;通常位于 ~/.ssh/id_rsa.pub&#xff09;复制到 GitLab 的 SSH 设置中&#xff1a;1.5、测试 …

前端-使用vue-cli脚手架创建项目

1.下载node&#xff1a;2.下载完检查是否安装成功 在cmd中输入&#xff1a;node --version或node -v 再在cmd中输入: npm -v npm默认的仓库地址是在国外&#xff0c;速度慢&#xff0c;所以设置淘宝镜像&#xff0c;速度就提升了&#xff0c;不设淘宝镜像也可以。 3.设置…

win11 安装低版本vmware导致频繁蓝屏原因及解决方法

环境 win11 vmware 16 安装完后&#xff0c;配置完虚拟机win10 ,开始频繁出现蓝屏&#xff0c;蓝屏界面如下 解决方案&#xff1a; 低版本vmware与win11不兼容&#xff0c;安装最新的vmware 17.5 使用ddu卸载集成显卡驱动&#xff0c;重新安装最新的显卡驱动&#xff0c…

算法日记 45 day 图论(并查集基础)

并查集解决什么问题 并查集常用来解决连通性问题。 大白话就是当我们需要判断两个元素是否在同一个集合里的时候&#xff0c;我们就要想到用并查集。 原理 既然是查找是否在同一个集合中&#xff0c;那么这个集合是怎么构建的呢&#xff1f;用一维数组来表示一个有向图&…

硬件选型规则

光源选型: 先用型号中带H的&#xff0c;没有的选标准的. 光源和光源控制器的搭配需要确保接口一致。 根据型号表中的最佳工作距离和相机的尺寸。 光源控制器选型&#xff1a; 首先选择海康风格系列光源控制器考虑与光源的接口匹配。功率应该满足接近光源功率。检查是否退市…

SSM虾米音乐项目3-后台流派模块的增删改

整体查询到的页面 <div class"widget-header"><i class"icon-list-ol"></i><h3>搜索条件</h3></div><div class"widget-content"><fieldset id"find"><div class"control-gr…

实验3-实时数据流处理-Flink

1.前期准备 &#xff08;1&#xff09;Flink基础环境安装 参考文章&#xff1a; 利用docker-compose来搭建flink集群-CSDN博客 显示为这样就成功了 &#xff08;2&#xff09;把docker&#xff0c;docker-compose&#xff0c;kafka集群安装配置好 参考文章&#xff1a; …

【Java】—— 图书管理系统

基于往期学习的类和对象、继承、多态、抽象类和接口来完成一个控制台版本的 “图书管理系统” 在控制台界面中实现用户与程序交互 任务目标&#xff1a; 1、系统中能够表示多本图书的信息 2、提供两种用户&#xff08;普通用户&#xff0c;管理员&#xff09; 3、普通用户…