它会打电话吗 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。