Fafa-DL / Awesome-Backbones

Integrate deep learning models for image classification | Backbone learning/comparison/magic modification project
1.52k stars 243 forks source link

mobilevit模型评估的结果不一致问题 #31

Open 021022 opened 1 year ago

021022 commented 1 year ago

在用mobilevit网络进行评估时,在配置文件中已经把路径给修改成训练过程中保存的val集acc最高的那个模型权重文件了,窗口也显示加载的是这个模型,但是评估的结果和保存的结果不一致,并且多次执行python tools/evaluation.py models/mobilevit/mobilevit_s.py时每次结果都不一样,按理说模型确定,test集确定,每次的预测结果应该都一样的,可以看到从模型名称看到结果应该是84%才对,找不到是哪个步骤出了问题

QQ图片20230329125953

Fafa-DL commented 1 year ago

预测时的batch size设置为1

021022 commented 1 year ago

预测时的batch size设置为1

导儿你好,之前在B站上发消息您建议我试一下其他模型是否有同样的问题,今天我又试了repvggA0还是一样的问题.....训练过程中val集的准确率和最后评估时不一样,我全程是按照步骤走的,只有中间split数据集那一步,因为我是自己划分好的训练集和测试集,所以没有运行那个split的文件,但是我的数据集也放在datasets文件夹下,位置都跟您一样的,实在不知道问题在哪了....下面是此次训练repvggA0的截图,第一张是训练过程最好epoch截图,一张是评估截图

2D{J% EWYAHA $00SU0PHL2

)O5RXA2_U8)7Z~@1L7ZH117

Fafa-DL commented 1 year ago

你验证和训练时的机器是一样的吗,多运行几次验证看看浮动大不大,我这好像在范围内

021022 commented 1 year ago

你验证和训练时的机器是一样的吗,多运行几次验证看看浮动大不大,我这好像在范围内

是一样的,同一台机器,同一块显卡,验证就是会比训练过程中保存的值低很多个点,而且每次验证结果都不一样,还挺奇怪的。然后就是我每次训练时,开头会提示参数匹配不上,但是训练完之后评估时那个权重参数加载之后就会显示matched successfully。

021022 commented 1 year ago

你验证和训练时的机器是一样的吗,多运行几次验证看看浮动大不大,我这好像在范围内

您好!请问是不是验证时模型相当于又训练了一轮?我看了一晚上代码也没太搞明白为什么会每次验证不一样....我怕是自己操作错误,所以我还找了同学让他随便找了个网络试了一下,结果还是每次评估都不一样,真的很奇怪....

Fafa-DL commented 1 year ago

不会再训练一次的,唯一可能的原因是预处理图片的操作引起,但我实测不会这么大差异啊,这个问题一年来第一次被反馈。

------------------ 原始邮件 ------------------ 发件人: 021022 @.> 发送时间: 2023年4月3日 22:00 收件人: Fafa-DL/Awesome-Backbones @.> 抄送: Fafa Bro @.>, Comment @.> 主题: Re: [Fafa-DL/Awesome-Backbones] mobilevit模型评估的结果不一致问题 (Issue #31)

你验证和训练时的机器是一样的吗,多运行几次验证看看浮动大不大,我这好像在范围内

您好!请问是不是验证时模型相当于又训练了一轮?我看了一晚上代码也没太搞明白为什么会每次验证不一样....我怕是自己操作错误,所以我还找了同学让他随便找了个网络试了一下,结果还是每次评估都不一样,真的很奇怪....

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

huisuli commented 1 year ago

想问下这个问题解决了吗?我也出现了这种情形,预测结果相差5%

huisuli commented 1 year ago

我猜测是由于评估时每次图像都会被随机裁剪导致,测试输入不同

021022 commented 1 year ago

我猜测是由于评估时每次图像都会被随机裁剪导致,测试输入不同

是的,我后面去看预处理部分,有些随机处理肯定是会影响预测结果的,所以后面我把测试图片的预处理部分给改成确定的操作之后就好了。

hefan14 commented 2 months ago

你验证和训练时的机器是一样的吗,多运行几次验证看看浮动大不大,我这好像在范围内

是一样的,同一台机器,同一块显卡,验证就是会比训练过程中保存的值低很多个点,而且每次验证结果都不一样,还挺奇怪的。然后就是我每次训练时,开头会提示参数匹配不上,但是训练完之后评估时那个权重参数加载之后就会显示matched successfully。

您好,我也遇到了相同的问题,请问您最终是如何解决的?

Fafa-DL commented 2 months ago

已修复评估时结果不稳定问题,可拉取最新代码