net.train()和net.eval()的用法
那么它在训练时要以一定概率进行Dropout或者更新BatchNormalization参数,而在测试时不在需要Dropout或更新BatchNormalization参数。此时,要用net.train()和net.eval()进行区分。net.train()和net.eval()到底在什么时候使用?在没有涉及到BN与Dropout的模型,这两个函数没什么用。
·
https://zhuanlan.zhihu.com/p/466913996?utm_id=0
在一些训练或测试函数中,常出现下面的用法:
def train():
net.train()
...
def eval():
net.eval()
...
net.train()和net.eval()到底在什么时候使用?
如果一个模型有Dropout与Batch Normalization,那么它在训练时要以一定概率进行Dropout或者更新Batch Normalization参数,而在测试时不在需要Dropout或更新Batch Normalization参数。此时,要用net.train()和net.eval()进行区分。
在没有涉及到BN与Dropout的模型,这两个函数没什么用。
更多推荐
已为社区贡献1条内容
所有评论(0)