S-HuaBomb / MASTER-Paddle

Reproduce MASTER-pytorch in Paddlepaddle
MIT License
2 stars 0 forks source link

你好,我用原作者的pytorch 版本,训练集和你一样,验证集也和你一样,但是训练过程中,word_acc一直是40%左右,和你在原GitHub留言一样。lmdb格式,CustomImagePreprocess处理,也没出现你训练中的验证表现很好,不知能否解答一下呢 #1

Open hengherui opened 2 years ago

S-HuaBomb commented 2 years ago

我在原作者的 pytorch 版本提的 issue,那时我用的是 data_lmdb_release/validation 数据集做验证,那个精度就是特别高,我猜可能训练集就包含了里面的数据,但是就像我提问的那样,测试的时候精度又没有验证集的精度高,很迷。而且 validation 数据集很大,验证一次 6 个小时就过去了(4 × V100)。。。所以我这个 repo 复现的时候把验证集换成了你另个 issue 说的:data_lmdb_release/evaluation/CUTE80-IC03_860-IC13_857-IC15_1811-IIIT5k_3000-SVT-SVTP,训练下来就是那样:

word_acc 是区分大小写的精度,训练中验证集的 word_acc 精度一直就40%左右,但是不区分大小写的 Word_acc_case_ins 精度是挺高的,而且训练中的验证集精度是平均结果,各个测试集拿出来单测还是可以达到指标的。不过我平均精度达标了,IIIT5k 和 CUTE80 两个测试集的精度一直差 3% 左右。

而且训练基本 5 个epoch之后精度就不怎么变化了,跟论文里的图是一致的,即使 loss 还一点点降,但差不多也是原地震荡。

S-HuaBomb commented 2 years ago

训练和验证数据集读取时就是用CustomImagePreprocess处理,但是 test 的时候跟训练集一样直接读取 lmdb 数据集并用CustomImagePreprocess处理得到的精度却很低,用 ResizeWeight 也很低。之后我把 data_lmdb_release/evaluation/ 下的所有测试集读取出来存成 jpg 格式再测试,用CustomImagePreprocess处理还是很低,但是用 ResizeWeight 处理得到的精度就正常了。

hengherui commented 2 years ago

我觉得ResizeWeight应该是针对那些benchmark进行了一些特殊尺寸处理了,那部分代码我看了,比CustomImagePreprocess处理的要细一点

------------------ 原始邮件 ------------------ 发件人: "S-HuaBomb/MASTER-Paddle" @.>; 发送时间: 2021年11月16日(星期二) 下午4:42 @.>; @.**@.>; 主题: Re: [S-HuaBomb/MASTER-Paddle] 你好,我用原作者的pytorch 版本,训练集和你一样,验证集也和你一样,但是训练过程中,word_acc一直是40%左右,和你在原GitHub留言一样。lmdb格式,CustomImagePreprocess处理,也没出现你训练中的验证表现很好,不知能否解答一下呢 (Issue #1)

训练和验证数据集读取时就是用CustomImagePreprocess处理,但是 test 的时候跟训练集一样直接读取 lmdb 数据集并用CustomImagePreprocess处理得到的精度却很低,用 ResizeWeight 也很低。之后我把 data_lmdb_release/evaluation/ 下的所有测试集读取出来存成 jpg 格式再测试,用CustomImagePreprocess处理还是很低,但是用 ResizeWeight 处理得到的精度就正常了。

— 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.