一开始遇到这个问题觉得简直离谱,模型参数是固定的,为什么结果受batchsize和shuffle影响。。。原因:论文不看,深度学习技术没了解完整,学了几个API就开始写代码,以为自己全懂了。
因为你的模型有batchnorm层!!!!!nn.BatchNorm2d()解决方案:
model.eval()
原因就是偷懒,以为设置了with torch.no_grad():就没问题了。
BatchNorm paper

一开始遇到这个问题觉得简直离谱,模型参数是固定的,为什么结果受batchsize和shuffle影响。。。原因:论文不看,深度学习技术没了解完整,学了几个API就开始写代码,以为自己全懂了。
因为你的模型有batchnorm层!!!!!nn.BatchNorm2d()解决方案:
model.eval()
原因就是偷懒,以为设置了with torch.no_grad():就没问题了。
BatchNorm paper