2019-03-09

https://blog.csdn.net/jinxin521125/article/details/78435899

net.eval()作用非常大,特别是在GAN生成任务中,今天下午就是忘了加net.eval()导致生成图片差异很大。据网上描述,原因是BN层计算均值问题。

使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval。

使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的batch_size过小,很容易就会被BN层导致生成图片颜色失真极大!!!!!!

eg:

Class Inpaint_Network()

......

Model = Inpaint_Nerwoek()

#train:

Model.train(mode=True)

.....

#test:

Model.eval()

你可能感兴趣的:(2019-03-09)