I just realized that SyncBN should set norm_eval=False. However, there is nothing to highlight this in the docs or elsewhere. Should we set a hook to check that?
If we use SyncBN and norm_eval=True at the same time, does it mean that it is equivalent to using BN and norm_eval=True because the value of BN has not been modified during training?
Also, using SyncBN(requires_grad=True) and norm_eval=True at the same time, will it hurt performance?
Prerequisite
💬 Describe the reimplementation questions
I just realized that
SyncBN
should setnorm_eval=False
. However, there is nothing to highlight this in the docs or elsewhere. Should we set a hook to check that?If we use
SyncBN
andnorm_eval=True
at the same time, does it mean that it is equivalent to usingBN
andnorm_eval=True
because the value of BN has not been modified during training?Also, using
SyncBN(requires_grad=True)
andnorm_eval=True
at the same time, will it hurt performance?Environment
It is not relative to the environment.
Expected results
No response
Additional information
No response