That’s correct. Note that other (custom) layers might also change their behavior via train()/eval(), if they use the self.training argument internally.


Not necessarily. L274 sets the base to eval(), while L275+ sets the 5th and 6th module back to train. Afterwards all batchnorm layers are reset to back to eval() (in particular, if RCNN_base[5] or RCNN_base[6] contain batchnorm layers).