Hi! Thanks for your sharing.
There may be differences between the paper and code.
In the paper , it can be seen that "we share the classifier between with or without the BatchFormer during training, which can thus be removed during testing".
While in the code, it can be found that the output of val phase, "logits", is the average obtained by the "self.logits" and "logits_old".
As a result, It seems like you still use BatchFormer in the val phase.
Could you please answer my doubts?
|
self.logits = (self.logits + logits_old) / 2. |
Hi! Thanks for your sharing.
There may be differences between the paper and code.
In the paper , it can be seen that "we share the classifier between with or without the BatchFormer during training, which can thus be removed during testing".
While in the code, it can be found that the output of val phase, "logits", is the average obtained by the "self.logits" and "logits_old".
As a result, It seems like you still use BatchFormer in the val phase.
Could you please answer my doubts?
BatchFormer/long-tailed_recognition/BalancedSoftmax/run_networks.py
Line 321 in 01f6fc5