Wei-ucas / TPSNet

Apache License 2.0
25 stars 9 forks source link

totaltext复现的检测精度只有83左右 #7

Closed xieliaolieji closed 1 year ago

xieliaolieji commented 1 year ago

远没有达到论文中的86,请问我该如何设置呢,我是按照FCENet的学习率设置的,按理说应该比FCENet好才对,请问作者是怎么设置只检测的参数呢

Wei-ucas commented 1 year ago

你好,在进行只检测训练时,由于训练数据集较小,需要添加随机翻转等数据增强,并且需要忽略标注中的方向,强制转化为上下左右的顺序。另外不建议直接使用mmocr中的hmean-iou evaluation,它与totaltext官方评测代码存在差异。可以将evaluate_e2e中的代码进行微小修改,使其可以测试detection-only的模型

Wei-ucas commented 1 year ago

你好,detection-only需要的代码已补充,totaltext的config也已上传

xieliaolieji commented 1 year ago

感谢感谢,就是有个小疑问,config中total_epochs = 100,这个是不是太少了呀

Wei-ucas commented 1 year ago

为了减少重复load数据影响训练速度,这里采用了RepeatDataset,会把训练集重复5次,所以实际是100 * 5 = 500个epoch

6098669 commented 1 year ago

作者您好,我也按照最新的检测代码跑了一遍,total-text最高只有85.4,请问是什么原因呢,我的运行命令是CUDA_VISIBLE_DEVICES=0,1,2,3 bash tools/dist_train.sh configs/tpsnet/tpsnet_totaltext_det.py work_dirs/pretrain 4

6098669 commented 1 year ago

除了运行命令外,只改了数据集路径,其余均为改动。

6098669 commented 1 year ago
image

运行期间会存在这种错误

Wei-ucas commented 1 year ago

您好,这个错误是因为totaltext有少数标注的轮廓点数为奇数,无法进行预处理,训练时会略过,不影响结果。我这边运行了多次结果均可达到86以上,您能否提供一下完整训练log,我好检查一下哪里出了问题

6098669 commented 1 year ago

您好,这个错误是因为totaltext有少数标注的轮廓点数为奇数,无法进行预处理,训练时会略过,不影响结果。我这边运行了多次结果均可达到86以上,您能否提供一下完整训练log,我好检查一下哪里出了问题

噢感谢,我再跑试一次,头一次跑到80epoch的时候报错RuntimeError: DataLoader worker (pid 32747) is killed by signal: Killed. 我又resume后再接着跑的。

6098669 commented 1 year ago

20230516_150110.log.json.zip 又训了一次,最高85.9,最后平均有85.7左右。命令是CUDA_VISIBLE_DEVICES=0,1,2,3 bash tools/dist_train.sh configs/tpsnet/tpsnet_totaltext_det.py work_dirs/pretrain 4

xieliaolieji commented 1 year ago

我跑了一次,也是这个结果,最高86.0

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2023年05月17日 01:18 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [Wei-ucas/TPSNet] totaltext复现的检测精度只有83左右 (Issue #7) |

20230516_150110.log.json.zip 又训了一次,最高85.9,最后平均有85.7左右。命令是CUDA_VISIBLE_DEVICES=0,1,2,3 bash tools/dist_train.sh configs/tpsnet/tpsnet_totaltext_det.py work_dirs/pretrain 4

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

Wei-ucas commented 1 year ago

感谢反馈,怀疑是某些package版本导致的训练差异,正在debug。附:本地训练的log 20230516_070819.log.json.zip

6098669 commented 1 year ago

20230518_165750.log.zip 不知是不是显卡的影响,我又在3090上训了2次,结果比之前略好0.2个点,最高有86.1. 环境如下:

image image
Wei-ucas commented 1 year ago

你好,我反复运行了多此,尝试了pytorch、torchvision、opencv的不同版本,都能跑到86.6+的结果,也更换了2080ti显卡,效果基本相同。在将torchvision从0.9.1更换到0.9.0后,效果稳定性似乎变差,但多次运行也能达到这个效果。你可以尝试将torchvision版本调整为0.9.1再试试

xieliaolieji commented 1 year ago

感谢指点,torchvision0.9.1好像确实好点,我把torchvision换成了0.9.1,opencv-python换成了4.5后,已经从之前的最高86.1到现在的86.6。 20230530_134717.zip

ocrhei commented 1 year ago

为啥你们都能86+,我torchvision也是0.9.1,最高也不到86 20230607_004305.log.json.zip

Wei-ucas commented 1 year ago

为啥你们都能86+,我torchvision也是0.9.1,最高也不到86 20230607_004305.log.json.zip

你好,你可以尝试将Opencv-python替换为4.5.3版本再尝试,或者麻烦你也提供一下您所有package的版本,由于暂时不确定到底是哪个package导致的性能不稳定,我会再进行一些验证

ocrhei commented 1 year ago

tpsnet-totaltext.txt.zip 将Opencv-python替换为4.5.3版本好像也不行,可能是其他包的问题,我是按reame配的,不过pytorch是用的这个命令配置的:conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge。

Wei-ucas commented 1 year ago

tpsnet-totaltext.txt.zip 将Opencv-python替换为4.5.3版本好像也不行,可能是其他包的问题,我是按reame配的,不过pytorch是用的这个命令配置的:conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge。

感谢反馈,我按照您相同的环境检查一下

ocrhei commented 1 year ago
image image

作者辛苦,我的具体环境是这样的

Wei-ucas commented 1 year ago

你好,我在不同设备上尝试了模型训练,发现确实在某些环境下运行效果不太稳定。通过尝试发现当环境为如下配置时,效果较为稳定:env.zip。具体是其中哪个package的版本影响了性能尚在一一排查。你可以下载该文件,打开其中的env.yml,然后使用 conda env create -f env.yml 创建环境,再尝试训练。期待你的反馈

tpsnet-totaltext.txt.zip 将Opencv-python替换为4.5.3版本好像也不行,可能是其他包的问题,我是按reame配的,不过pytorch是用的这个命令配置的:conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge。

ocrhei commented 1 year ago

你好,我在不同设备上尝试了模型训练,发现确实在某些环境下运行效果不太稳定。通过尝试发现当环境为如下配置时,效果较为稳定:env.zip。具体是其中哪个package的版本影响了性能尚在一一排查。你可以下载该文件,打开其中的env.yml,然后使用 conda env create -f env.yml 创建环境,再尝试训练。期待你的反馈

tpsnet-totaltext.txt.zip 将Opencv-python替换为4.5.3版本好像也不行,可能是其他包的问题,我是按reame配的,不过pytorch是用的这个命令配置的:conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge。

感谢感谢,有空我再试一下。