pytorch 每次测试结果不同

2022-10-11 12:59:15

真是见了鬼了,搞好半天没弄清楚啥原因。把每个预测值看了一遍,确实每次结果不同。

原因排查:

  1. 自定义的Metric写的有问题,会根据batch_size变化,是按batch_size大小按每个batch分别计算的,而不是按batch累计的
  2. 被测试的网络结构中有Dropout层,比如nn.Dropout
  3. 测试的数据loader加入了随机处理,比如transforms.RandomCrop()
  4. 测试的时候没有打开 model.eval()
  5. 没有固定随机种子
  6. 其他可能的原因,目前我还没遇到。

解决1:固定随机种子

感谢:
https://blog.csdn.net/t20134297/article/details/103556945
https://blog.csdn.net/kangk_521/article/details/81225787

  • 作者:城俊BLOG
  • 原文链接:https://junchu.blog.csdn.net/article/details/107790914
    更新时间:2022-10-11 12:59:15