yxgeee / MMT

[ICLR-2020] Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification.
https://yxgeee.github.io/projects/mmt
MIT License
472 stars 73 forks source link

model.eval #23

Closed dongzhi0312 closed 4 years ago

dongzhi0312 commented 4 years ago

你好,最近看你的代码有点疑问,我准备把它用在分类问题上,在预训练阶段,当执行评估时,为什么模型输出的结果只是 [batch_size, 2048] 的tensor,而不是像模型训练时,输出的是 [batch_size, num_class],[batch_size, 2048],我看 model.train() 和 model.eval() 的区别中没有这个呀,调试了多次了,还望解惑

yxgeee commented 4 years ago

你好,

model.train()的时候输出是两个,第一个是feature ([batch_size,2048]),第二个是probability ([batch_size, class_num]),参见 https://github.com/yxgeee/MMT/blob/master/mmt/models/resnet.py#L104

model.eval()的时候目前输出只有feature ([batch_size,2048]),参见 https://github.com/yxgeee/MMT/blob/master/mmt/models/resnet.py#L87 如果要改成分类问题,可以将eval()时的输出改成prob。

dongzhi0312 commented 4 years ago

谢谢大佬解惑。