它会打电话吗 forward()
的nn.Module
?我以为我们在调用模型时forward
会使用方法。为什么我们需要指定train()?
Answers:
这是以下代码module.train()
:
def train(self, mode=True):
r"""Sets the module in training mode."""
self.training = mode
for module in self.children():
module.train(mode)
return self
这是module.eval
。
def eval(self):
r"""Sets the module in evaluation mode."""
return self.train(False)
模式train
和eval
是我们可以在其中设置模块的仅有的两种模式,它们是完全相反的。
那只是一个self.training
标志,目前仅 辍学,bachnorm关心该标志。
默认情况下,此标志设置为True
。