QinYang79 / RDE

Noisy-Correspondence Learning for Text-to-Image Person Re-identification (CVPR 2024 Pytorch Code)
64 stars 4 forks source link

有关训练代码的问题 #8

Closed SaltyFisher1 closed 1 month ago

SaltyFisher1 commented 1 month ago

大佬你好,我是刚从事noisy对应性学习的研究生,您的工作非常优秀,但是我在跑您提供的开源代码时遇到一个问题, 代码
/processor.py里的 def get_loss(model, data_loader): 在计算loss进行高斯混合之前有一句 model.eval(),这里我猜是相当于进行了模型的推断,来判断样本是否为clean样本和noisy样本不应该传梯度,但是整体模型在get_loss判断完之后,好像并没有回到 model.train()模式,但是这样也能训练,这里使我产生了困惑,期待您的解答。 image

QinYang79 commented 1 month ago

https://www.jianshu.com/p/74c02e8d28f3 这似乎确实一个疏忽之处,你可以check一下更正下该项性能是否受影响。

QinYang79 commented 1 month ago

https://www.jianshu.com/p/74c02e8d28f3 这似乎确实一个疏忽之处,你可以check一下更正下该项性能是否受影响。

我纠正了这一项,重新进行了实验验证,跑出来的性能会略高于论文所报告的。

SaltyFisher1 commented 3 weeks ago

非常感谢您的回答,可以分享一下您修改的地方吗?非常感谢

QinYang79 commented 3 weeks ago

非常感谢您的回答,可以分享一下您修改的地方吗?非常感谢

label_hat[consensus_division>1] = 1
label_hat[consensus_division<=1] = 0 

model.train()
for n_iter, batch in enumerate(train_loader):