PaddleClas icon indicating copy to clipboard operation
PaddleClas copied to clipboard

为什么我使用ImageNet1k的train进行训练,在val上只能得到60.1%的ACC,按照论文和所给的预训练模型应该可以到66.8%的

Open caomao1111 opened this issue 4 years ago • 17 comments

欢迎您使用PaddleClas并反馈相关问题,非常感谢您对PaddleClas的贡献! 提出issue时,辛苦您提供以下信息,方便我们快速定位问题并及时有效地解决您的问题:

  1. PaddleClas版本以及PaddlePaddle版本:请您提供您使用的版本号或分支信息,如PaddleClas release/2.2和PaddlePaddle 2.1.0
  2. 涉及的其他产品使用的版本号:如您在使用PaddleClas的同时还在使用其他产品,如PaddleServing、PaddleInference等,请您提供其版本号
  3. 训练环境信息: a. 具体操作系统,如Linux/Windows/MacOS b. Python版本号,如Python3.6/7/8 c. CUDA/cuDNN版本, 如CUDA10.2/cuDNN 7.6.5等
  4. 完整的代码(相比于repo中代码,有改动的地方)、详细的错误信息及相关log

caomao1111 avatar Dec 07 '21 11:12 caomao1111

默认GhostNet_x0_5与GhostNet_x1_0的训练设置是一样的,这个需要改吗

caomao1111 avatar Dec 07 '21 11:12 caomao1111

具体训练的是什么模型,在train集合上的acc有多少呢?

cuicheng01 avatar Dec 09 '21 03:12 cuicheng01

训练的GhostNet_x0_5,在训练集上的acc为57%,再验证集上推理得到的acc为60.%。使用ImageNet数据集,在train的时候没有进行验证,因为要在验证集上推理

caomao1111 avatar Dec 09 '21 12:12 caomao1111

训练的GhostNet_x0_5,在训练集上的acc为57%,再验证集上推理得到的acc为60.%。使用ImageNet数据集,在train的时候没有进行验证,因为要在验证集上推理

请问你是按照PaddleClas的文档进行训练的吗?还是只是使用了网络结构,用其他的方法训练呢?按照文档训练的话,默认会在log里输出训练集和验证集的acc

weisy11 avatar Dec 10 '21 03:12 weisy11

是按照文档进行训练的,但我需要在ImageNet的验证集上评价模型(测试集是没有label的),也就是把验证集当做测试集,所以在训练时无法进行验证调整模型,原论文也是这么做的,你们是把训练集分割成训练和测试两个来进行train吗?

caomao1111 avatar Dec 10 '21 03:12 caomao1111

是按照文档进行训练的,但我需要在ImageNet的验证集上评价模型(测试集是没有label的),也就是把验证集当做测试集,所以在训练时无法进行验证调整模型,原论文也是这么做的,你们是把训练集分割成训练和测试两个来进行train吗?

我们是按照通行的ImageNet的训练流程来做的,没有任何特别的地方。如果你的训练没有特别的地方,遵循文档的流程就可以得到结果。

weisy11 avatar Dec 10 '21 07:12 weisy11

btw,是这篇文档么?https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/docs/zh_CN/models_training/classification.md 其中关于ImageNet数据集的描述: https://github.com/PaddlePaddle/PaddleClas/blob/release/2.3/docs/zh_CN/models_training/classification.md#11-imagenet-1k 95fb1a83927811163a4a26c6497e77bf

weisy11 avatar Dec 10 '21 07:12 weisy11

是的,数据集和训练方式是没问题的,那是训练的epoch次数不够吗,我看log中间会有一段时间Loss下降的非常慢,不知道为什么

caomao1111 avatar Dec 10 '21 07:12 caomao1111

是的,数据集和训练方式是没问题的,那是训练的epoch次数不够吗,我看log中间会有一段时间Loss下降的非常慢,不知道为什么

如果你没有修改训练参数,并且按照正常的方式设定训练集和验证集,可以分享一下你的log,我们看一下

weisy11 avatar Dec 10 '21 07:12 weisy11

想确认下你的配置,比如卡数,以及当前的batch-size和学习率分别是多少呢?

cuicheng01 avatar Dec 10 '21 07:12 cuicheng01

我发现唯一不一样的是我训练时漏掉了这句o Arch.pretrained=False,请问默认是使用预训练模型吗,log我通过邮件发给您

caomao1111 avatar Dec 10 '21 07:12 caomao1111

想确认下你的配置,比如卡数,以及当前的batch-size和学习率分别是多少呢?

单卡,学习率0.8,batch_size为512,都按文档没变

caomao1111 avatar Dec 10 '21 08:12 caomao1111

GhostNet_x0_5的训练log

原始邮件

发件人:"Wei Shengyu"< @.*** >;

发件时间:2021/12/10 15:35

收件人:"PaddlePaddle/PaddleClas"< @.*** >;

抄送人:"草帽"< @.*** >;"Author"< @.*** >;

主题:Re: [PaddlePaddle/PaddleClas] 为什么我使用ImageNet1k的train进行训练,在val上只能得到60.1%的ACC,按照论文和所给的预训练模型应该可以到66.8%的 (Issue #1535)

是的,数据集和训练方式是没问题的,那是训练的epoch次数不够吗,我看log中间会有一段时间Loss下降的非常慢,不知道为什么

如果你没有修改训练参数,并且按照正常的方式设定训练集和验证集,可以分享一下你的log,我们看一下

&mdash; You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

caomao1111 avatar Dec 10 '21 08:12 caomao1111

我发现唯一不一样的是我训练时漏掉了这句o Arch.pretrained=False,请问默认是使用预训练模型吗,log我通过邮件发给您

想确认下你的配置,比如卡数,以及当前的batch-size和学习率分别是多少呢?

单卡,学习率0.8,batch_size为512,都按文档没变

应该是卡数的问题,默认训练是4卡的。可能是我们的文档在这块强调的还不够清楚,后续版本会添加一个warning提醒用户。

weisy11 avatar Dec 10 '21 08:12 weisy11

我发现唯一不一样的是我训练时漏掉了这句o Arch.pretrained=False,请问默认是使用预训练模型吗,log我通过邮件发给您

想确认下你的配置,比如卡数,以及当前的batch-size和学习率分别是多少呢?

单卡,学习率0.8,batch_size为512,都按文档没变

应该是卡数的问题,默认训练是4卡的。可能是我们的文档在这块强调的还不够清楚,后续版本会添加一个warning提醒用户。

我只有一块卡的话是无法训练出和文档一样的效果吗?可以的话应该怎样改训练时的参数

caomao1111 avatar Dec 10 '21 08:12 caomao1111

我发现唯一不一样的是我训练时漏掉了这句o Arch.pretrained=False,请问默认是使用预训练模型吗,log我通过邮件发给您

想确认下你的配置,比如卡数,以及当前的batch-size和学习率分别是多少呢?

单卡,学习率0.8,batch_size为512,都按文档没变

应该是卡数的问题,默认训练是4卡的。可能是我们的文档在这块强调的还不够清楚,后续版本会添加一个warning提醒用户。

我只有一块卡的话是无法训练出和文档一样的效果吗?可以的话应该怎样改训练时的参数

假如显存足够,可以将bs*4,即设为2048,应该能得到很接近的结果。如果显存不够,可以bs不变,学习率/4,这种配置精度会有损失,但是一般不超过1个点

weisy11 avatar Dec 10 '21 08:12 weisy11

好的,蟹蟹

caomao1111 avatar Dec 10 '21 10:12 caomao1111