VICO-UoE / URL

Universal Representation Learning from Multiple Domains for Few-shot Classification - ICCV 2021, Cross-domain Few-shot Learning with Task-specific Adapters - CVPR 2022
MIT License
127 stars 18 forks source link

关于您发布的URL模型的测试结果 #12

Closed koko6677 closed 1 year ago

koko6677 commented 1 year ago

尊敬的作者,您好!感谢您开源您杰出工作的代码!我在用您的代码(下载了最新版)复现[URL]论文的Table 4时,发现Table 4的第一列(NCC)与最后一列(Ours)的结果复现有一定的差距,我用您的模型(URL-pretrained)复现NCC的结果为(所有数据集测试平均Acc):73.1(2次复现),,而论文结果为:73.7, 最后一列(Ours)的结果复现为(所有数据集测试平均Acc):75.04, 而您论文的结果为:76.6。在复现NCC时,我选用的测度是余弦相似度,使用了test_extractor.py进行测试;在复现(Ours)时,我没有做任何改动,直接使用了您发布的测试脚本test_resnet18_pa.sh。 请问您能帮我分析以下可能出现的问题在哪里呢?麻烦您了!

WeiHongLee commented 1 year ago

您好,感谢您提出的问题以及对我们工作的兴趣以及肯定!我们在https://github.com/VICO-UoE/URL#expected-results有更新Ours(URL)的结果,在论文的supplementary https://openaccess.thecvf.com/content/ICCV2021/supplemental/Li_Universal_Representation_Learning_ICCV_2021_supplemental.pdf中的Table 7也更新了结果,主要是受meta-dataset repo的这个issue中提到的问题的影响https://github.com/google-research/meta-dataset/issues/54,也即是shuffle_buffer_size的设置问题。如果您想复现Table 4相似的结果,您可以将./data/meta_dataset_reader.py中shuffle_buffer_size设置成shuffle_buffer_size=0. 但如果您想使用我们算法的结果,请使用我们repo中报告的结果,或者使用我们最新版本代码重新实验。

谢谢!

koko6677 commented 1 year ago

好的,已经明白了,十分感谢您如此详尽地解惑!

koko6677 commented 1 year ago

尊敬的作者您好!感谢您在我前面复现实验时提供的重要帮助。但是关于您的代码,我还有一个疑问,希望您能给予解答。我发现您的代码在meta-testing时,需要判断当前的数据集是否在元训练时遇到过,如果没有遇到过,则设置不同的学习率。这样的做法意味着我们在测试时需要每张测试样本拥有一个与元训练数据集相关的label,以达到判断该样本是否属于元训练的数据集。这样的要求如何在一个开放的测试环境实现呢?

WeiHongLee commented 1 year ago

你好,我们论文的代码确实需要判断是否是seen还是unseen数据库来设置meta-test的时候的learning rate。但是也能通过一些其他方式来处理,比如说根据loss或者通过特征相似度、meta-learner来确定等等。我自己也试过一些方式,之前通过loss效果还可以。但不是论文研究的目的,所以就没在paper里面提及~

koko6677 commented 1 year ago

你好,我们论文的代码确实需要判断是否是seen还是unseen数据库来设置meta-test的时候的learning rate。但是也能通过一些其他方式来处理,比如说根据loss或者通过特征相似度、meta-learner来确定等等。我自己也试过一些方式,之前通过loss效果还可以。但不是论文研究的目的,所以就没在paper里面提及~

好的,多谢指点!再次感谢解惑!