pytorch图像分类模型在测试时精度变差

编程入门 行业动态 更新时间:2024-10-08 06:28:07

pytorch图像分类模型在测试时<a href=https://www.elefans.com/category/jswz/34/1769184.html style=精度变差"/>

pytorch图像分类模型在测试时精度变差

因为平时工作时喜欢把一些记录记到自己one note里,所以本人很少写文章,不过最近在工作中踩了一些坑,想来想去还是把一些问题记录在CSDN里跟好,一是方便日后查看,二是也许可能帮助到别人。

我在使用pytorch做一个图像分类的实验,在训练时使用batch_size = 64 在预训练模型上进行训练,在训练期间,模型在train data以及 val data上都有不错的表现,然后当模型训练完成后,在test data上也进行了测试,同样得到了较好的表现。但是在测试单张图片分类时,就发生了奇怪的现象,发现模型精度非常差。所以各种找问题,找原因,最后终于找到原因所在:导致单张图片测试精度变差的原因就是忘记在测试时对模型加入 model.evel() 方法。

说起来感觉比较简单低级的错误,但确实发生在不经意间,究其原因主要是我在test方法上加上了【@torch.no_grad()】的注解,如下:

@torch.no_grad()
def test(self):pass  # 后续任务

因为加上了该注解后,可以使model不在进行梯度计算以及反向传播,但是就是因为加上了该注解使我忽略了BN层的参数,在使用 y = model(x)进行前向计算时,model自动计算了BN层的参数,最终导致精度变差。

更多推荐

pytorch图像分类模型在测试时精度变差

本文发布于:2024-02-14 00:43:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1761522.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:精度   模型   图像   测试   pytorch

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!