2021
07-09
07-09
解决Pytorch中的神坑:关于model.eval的问题
有时候使用Pytorch训练完模型,在测试数据上面得到的结果令人大跌眼镜。这个时候需要检查一下定义的Model类中有没有BN或Dropout层,如果有任何一个存在那么在测试之前需要加入一行代码:#model是实例化的模型对象model=model.eval()表示将模型转变为evaluation(测试)模式,这样就可以排除BN和Dropout对测试的干扰。因为BN和Dropout在训练和测试时是不同的:对于BN,训练时通常采用mini-batch,所以每一批中的mean和std大致...
继续阅读 >