model.eval() should use the running stats, if the batchnorm layers were created in the default setup. Could you check, if you are initializing them with track_running_stats = False?
Also, dropout should be disabled, if the nn.Dropout module is used or the functional API via F.dropout(input, training=self.training). Could you check, if you are using the functional API and are not switching the training flag?