复现论文: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.mzph.cn/diannao/63553.shtml

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

相关文章

在Windows上安装NVM(Node Version Manager)

NVM&#xff08;Node Version Manager&#xff09;是一个非常实用的工具&#xff0c;可以帮助开发者在同一台机器上管理多个Node.js版本。本文将介绍如何在Windows上安装NVM&#xff0c;并提供一些常用命令的说明。 一、下载和安装NVM 下载NVM安装程序 访问NVM for Windows的发…

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

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

《HTML 的变革之路:从过去到未来》

一、HTML 的发展历程 图片: HTML 从诞生至今&#xff0c;经历了多个版本的迭代。 &#xff08;一&#xff09;早期版本 HTML 3.2 在 1997 年 1 月 14 日成为 W3C 推荐标准&#xff0c;提供了表格、文字绕排和复杂数学元素显示等新特性&#xff0c;但因实现复杂且缺乏浏览器…

鸿蒙手机文件目录

最近在开发鸿蒙&#xff0c;想把文件从电脑上发送到鸿蒙上我的手机APP的根目录&#xff0c;但是试了几次目录都不对&#xff0c;最后终于找到了&#xff0c;在这里记录一下 鸿蒙手机路径: /storage/media/100/local/files/Docs 将文件从电脑发送到手机&#xff1a;hdc file s…

SQL注入--堆叠注入

一.基本概念 堆叠注入概念&#xff1a;在 SQL 中&#xff0c; 分号&#xff08;;&#xff09; 是用来表示一条 sql 语句的结束。 试想一下我们在 ; 结束一个 sql语句后继续构造下一条语句&#xff0c; 会不会一起执行&#xff1f; 因此这个想法也就造就了堆叠注入。 二.堆叠注入…

lspci简介

lspci命令用于列出系统中所有pci设备信息,其输出信息包括设备的bdf地址(总线号、设备号和功能号)、设备类型、厂商信息等。 lspci命令的基本用法: lspci:列出所有pci设备的详细信息 参数: -v:显示详细信息,包括驱动程序、总线和端口等信息 -t:以属性结构显…

【论文阅读】PRIS: Practical robust invertible network for image steganography

内容简介 论文标题&#xff1a;PRIS: Practical robust invertible network for image steganography 作者&#xff1a;Hang Yang, Yitian Xu∗, Xuhua Liu∗, Xiaodong Ma∗ 发表时间&#xff1a;2024年4月11日 Engineering Applications of Artificial Intelligence 关键…

Linux DNS域名解析服务器

DNS简介 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分 布式数据库&#xff0c;能够使人更方便的访问互联网。 DNS 使用的是 53 端口&#xff0c; 通常 DNS 是以 UDP 这个较快速的数据传输协议…

Vercel部署前端部署

Vercel 部署 今天要讲的是如何对别人向自己的开源仓库提的PR进行自动代码审核 1. 注册并登录Vercel 访问 Vercel官网点击右上角的"Sign Up"选择使用GitHub、GitLab、Bitbucket或邮箱注册完成注册流程并登录 2. 连接代码仓库 在Vercel仪表板,点击"New Proje…

LeetCode面试题04 检查平衡性

题目&#xff1a; 实现一个函数&#xff0c;检查二叉树是否平衡。在这个问题中&#xff0c;平衡树的定义如下&#xff1a;任意一个节点&#xff0c;其两棵子树的高度差不超过 1。 一、平衡树定义&#xff1a; 二叉树&#xff0c;一种由节点组成的树形数据结构&#xff0c;每…

【一文了解】C#基础-接口

目录 1. 定义 2. 接口的特点与规则 3. 接口的实现 3.1单接口实现 3.2多接口实现 4. 接口的作用和用途 1)扩展行为 2)规范行为 3)降低耦合 5. 接口与继承的比较 1)继承 2)接口 6. 接口与抽象类的比较 1)IComparable(比较器&#xff0c;常用) 2)IComparer(比较器)…

Notable是一款优秀开源免费的Markdown编辑器

一、Notable简介 ‌ Notable‌是一款开源的跨平台Markdown编辑器&#xff0c;支持Linux、MacOS、Windows以及国产操作系统等多种主流操作系统。它以其高颜值和强大的功能&#xff0c;成为了许多用户的首选工具。 主要特性 实时预览‌&#xff1a; Notable提供了实时预览功能&…

方案解读:46页数字化企业制造运营管理(MOM)系统运营实践方案

本文概述了数字化企业制造运营管理(MOM)系统的核心要素与实践路径,深入探讨了数字化企业建设的丰富内涵。数字化企业以智能制造为核心,融合了智能终端、智能制造单元、工业4.0边缘技术、赛博物理系统(CPS)等前沿技术,构建了数字化车间、智能工厂等高效生产环境。通过工业…

安卓报错Switch Maven repository ‘maven‘....解决办法

例如&#xff1a;Switch Maven repository ‘maven(http://developer.huawei.com/repo/)’ to redirect to a secure protocol 在库链接上方添加配置代码&#xff1a;allowInsecureProtocol true

es实现上传文件查询

es实现上传文件查询 上传文件&#xff0c;获取文件内容base64&#xff0c;使用es的ingest-attachment文本抽取管道转换为文字存储 安装插件 通过命令行安装&#xff08;推荐&#xff09; 1.进入 Elasticsearch 安装目录 2.使用 elasticsearch-plugin 命令安装 bin/elastics…

采集opc ua转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集OPC UA的数据 2 5 用PROFINET IO协议转发数据 4 6 案例总结 6 1 案例说明 设置网关采集OPC UA设备数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换…

linux 安装composer

下载composer curl -sS https://getcomposer.org/installer | php下载后设置环境变量&#xff0c;直接通过命令composer -v mv composer.phar /usr/local/bin/composer查看版本看是否安装成功 composer -v

可视化建模以及UML期末复习----做题篇

一、单项选择题。&#xff08;20小题&#xff0c;每小题2分,共40分&#xff09; 1、UML图不包括&#xff08; &#xff09; A、用例图 B、状态机图 C、流程图 D、类图 E、通信图 答案&#xff1a;C、流程图 UML中不包括传统意义上的流程图&#xff0c;流程图通常是指B…

VBA高级应用30例应用在Excel中的ListObject对象:向表中添加注释

《VBA高级应用30例》&#xff08;版权10178985&#xff09;&#xff0c;是我推出的第十套教程&#xff0c;教程是专门针对高级学员在学习VBA过程中提高路途上的案例展开&#xff0c;这套教程案例与理论结合&#xff0c;紧贴“实战”&#xff0c;并做“战术总结”&#xff0c;以…

Mac mini m4本地跑大模型(ollama + llama + ComfyUI + Stable Diffusion | flux)

安装chat大模型&#xff08;不推荐&#xff0c;本地运行的大模型只能聊废话&#xff0c;不如网页版使用openAI等高效&#xff09; 首先下载ollama的安装包 https://ollama.com/ 点击启动访问&#xff1a;http://localhost:11434 Ollama is running 代表已经运行起来了&#x…