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

news2025/1/8 6:02:22

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.coloradmin.cn/o/2257291.html

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

相关文章

电子应用设计方案-43:智能手机充电器系统方案设计

智能手机充电器系统方案设计 一、引言 随着智能手机的广泛应用&#xff0c;对充电器的性能、效率和安全性提出了更高的要求。本方案旨在设计一款高效、安全、兼容多种快充协议的智能手机充电器。 二、系统概述 1. 系统目标 - 提供快速、稳定、安全的充电功能。 - 兼容主流的智…

基于springboot+vue实现的项目评审系统 (源码+L文+ppt)4-116

摘 要 相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低运营人员成本&#xff0c;实现了项目评审系统的标准化、制度化、程序化的管理&#xff0c;有效地防止了项目评审的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够及时、准确…

深入了解架构中常见的4种缓存模式及其实现

4种缓存模式 随着应用程序的复杂性日益增加&#xff0c;缓存管理变得至关重要。缓存不仅能有效减轻数据库负载&#xff0c;还能显著提升数据访问速度。选择合适的缓存模式能够在不同的业务场景下发挥出最佳效果。 本文将详细介绍四种常见的缓存模式&#xff1a;Cache-Aside (…

【论文阅读】处理器芯片敏捷设计方法:问题与挑战

作者&#xff1a;包云岗老师 包云岗老师是计算机体系结构方向的大牛&#xff0c;推动了体系结构方面的开源事业! 欢迎对本栏目感兴趣的人学习"一生一芯"~ 学习体会&#xff1a; 已有的软硬件生态系统和开发成本制约了对新结构的探索。但目前仍在几种路线上做尝试~ 1…

Android记单词app(包含数据库)

一、功能与要求 实现功能:设计与开发记单词系统的,系统功能包括用户登录、用户注册、单词操作(单词的添加、查询、修改及删除)以及忘记密码等。 指标要求:通过用户登录、用户注册、单词操作、忘记密等功能的设计与开发,掌握Android常用布局、控件的使用、监听器的设置以及…

数据结构与算法学习笔记----树与图的深度优先遍历

数据结构与算法学习笔记----树与图的深度优先遍历 author: 明月清了个风 first publish time: 2024.12.9 pa⭐️这里只有一道题哈哈。 Acwing 846.树的重心 给定一棵树&#xff0c;树中包含 n n n个节点&#xff08;编号 1 ∼ n 1 \sim n 1∼n&#xff09;和 n − 1 n - 1 n…

TSWIKI知识库软件

TSWIKI 知识库软件介绍 推荐一个适合本地化部署、自托管的知识库软件 TSWIKI介绍 tswiki 是一个适合小团队、个人的知识库、资料管理的软件&#xff0c;所有数据均本地化存储。可以本地化、私有云部署&#xff0c;安装简单。在线预览。 主要功能说明 1、简化的软件依赖和安…

mid360使用cartorapher进行3d建图导航

1. 添加urdf配置文件&#xff1a; 添加IMU配置关节点和laser关节点 <!-- imu livox --> <joint name"livox_frame_joint" type"fixed"> <parent link"base_link" /> <child link"livox_frame" /> <o…

第四十六篇 Vision Transformer论文翻译

论文连接:https://arxiv.org/abs/2010.11929 GitHub:https://github.com/google-research/vision_transformer 摘要 虽然Transformer架构已成为自然语言处理任务的实际标准,但其在计算机视觉中的应用仍然有限。在计算机视觉中,注意力机制要么与卷积网络结合使用,要么在保…

【VUE2】纯前端播放海康视频录像回放,视频格式为rtsp格式,插件使用海康视频插件

一、需求 1、后端从海康平台拉流视频回放数据&#xff0c;前端进行页面渲染播放&#xff0c;视频格式为rtsp eg&#xff1a; 基本格式&#xff1a;rtsp://<username>:<password><ip_addr>:<port>/<path>参数说明&#xff1a; username&#xff…

STL库中list的使用与迭代器的实现

STL库中list的使用与迭代器的实现 1.使用list中的部分函数assignspliceremoveuniquemeger 2.list的部分功能实现&#xff08;重点&#xff09;框架迭代器的实现 1.使用list中的部分函数 assign 功能一&#xff1a;当前链表的节点全部销毁&#xff0c;替换成迭代区间的值 功能二…

2024年华中杯数学建模C题基于光纤传感器的平面曲线重建算法建模解题全过程文档及程序

2024年华中杯数学建模 C题 基于光纤传感器的平面曲线重建算法建模 原题再现 光纤传感技术是伴随着光纤及光通信技术发展起来的一种新型传感器技术。它是以光波为传感信号、光纤为传输载体来感知外界环境中的信号&#xff0c;其基本原理是当外界环境参数发生变化时&#xff0c…

ETCD的封装和测试

etcd是存储键值数据的服务器 客户端通过长连接watch实时更新数据 场景&#xff1a; 当主机A给服务器存储 name&#xff1a; 小王 主机B从服务器中查name ,得到name-小王 当主机A更改name 小李 服务器实时通知主机B name 已经被更改成小李了。 应用&#xff1a;服务注册与发…

Cesium 问题: 添加billboard后移动或缩放地球,标记点位置会左右偏移

文章目录 问题分析原先的:添加属性——解决漂移移动问题产生新的问题:所选的经纬度坐标和应放置的位置有偏差解决坐标位置偏差的问题完整代码问题 添加 billboard 后, 分析 原先的: // 图标加载 function addStation ({lon, lat, el, testName

进入 Dystopia:第九周游戏指南

本指南将为大家详细说明在第八周的每个体验中可以获得的奖励。 在杂草丛生的反乌托邦废墟中生存&#xff0c;随着大自然重新开垦这片土地&#xff0c;文明已陷入绝望。穿越高耸入云、摇摇欲坠的摩天大楼&#xff0c;抵御末世社会的各种危险。适应这个文明与荒野之间的界限已经消…

leetcode 面试经典 150 题:验证回文串

链接验证回文串题序号125类型字符串解题方法双指针法难度简单 题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xf…

Android 屏幕采集并编码为H.264

前言 我们前面基于摄像机的图像采集以及编解码已经完成了&#xff0c;那么接下来计划后面的三篇博文分别实现Android屏幕采集实现并进行H.264编解码、MIC音频采集并编码为AAC以及AAC解码播放&#xff0c;希冀可以通过这六篇博文能够对Android上面的音视频编解码有一个初步的学…

深入探索 Compose 渲染流程:从 UI 树到 Skia 绘制的实现解析

文章目录 前言Compose 渲染流程概述1. Compose 解析1.1 Compose 声明性 UI1.2 Compose 编译1.2.1 Compose 编译概述1.2.2 代码示例1.2.3 编译过程细节 1.3 组合与重组合1.3.1 组合&#xff08;Composition&#xff09;1.3.2 重组合1.3.3 组合与重组合的区别1.3.4 组合与重组合的…

PySpark3.4.4_基于StreamingContext实现网络字节流统计分析

网络字节流与嵌套字节流的区别 概念解释 网络嵌套字节流&#xff1a; 在网络编程的情境下&#xff0c;网络嵌套字节流通常是指将字节流&#xff08;字节序列&#xff09;以一种分层或者包含的方式进行组织&#xff0c;用于在网络传输过程中更好地处理数据。例如&#xff0c;在一…

【Homework】【8】Learning resources for DQ Robotics in MATLAB

作业任务 创建一个名为“VS050RobotDH”的类&#xff0c;该类代表Denso VS050机器人&#xff0c;其DH参数如下表所示&#xff0c;并且完全由旋转关节组成。&#xff08;请记住第6课的内容&#xff09; θ \theta θ d d d a a a α \alpha α − π -\pi −π0.3450 π 2 \fra…