AstarLight / Lets_OCR

A repository for OCR, which inlcudes some classical OCR algorithms Pytorch implementation such as CTPN, EAST and CRNN.
MIT License
656 stars 327 forks source link

训练不收敛 #14

Open hjgw opened 5 years ago

hjgw commented 5 years ago

作者您好,请问一下,您训练多少个epoch开始收敛呢?我用您提供的数据集训练2个epoch还是震荡的,用您的代码转换了ICDAR2017的数据集训练,训练了7个epoch也不收敛。想问下您除了调整学习速率还有什么解决办法吗?谢谢~

AstarLight commented 5 years ago

我这边大概一个epoch loss就开始下降,大概4,5个epoch开始收敛

hjgw commented 5 years ago

嗯嗯,我再调调程序,谢谢~

leonzhu211 commented 5 years ago

我用自己的数据,train loss 跑一个晚上,大概到 0.07,但 infer 的效果看起来一般

AstarLight commented 5 years ago

@leonzhu211 是不是recall较好,precision较差?我不知道你的数据是什么样的,但是CTPN这个算法只对水平文本有较好效果

leonzhu211 commented 5 years ago

目标数据是新闻视频抽帧的新闻字幕或影视抽帧中的字幕。 数据集是自己造的。 随机取图片、字体、颜色、字号、图片中的位置 等参数,画个字到图片上,再扔给 CTPN 训练。

另外,原代码好像没有对输入做 normalize,加上了,好像也没有太大变化。 关于 scale 部分, 600 这个值,意义没看懂。 CTPN 应该是不限制图片宽高,准备取消 scale 再继续训练。

AstarLight commented 5 years ago

@leonzhu211 ctpn论文提到了这个600的:The input image is resized by setting its short side to 600 for training, while keeping its original aspect ratio.

leonzhu211 commented 5 years ago

@AstarLight 谢谢,查原文,果然看到了。

huazai-1994 commented 5 years ago

@AstarLight 请问如果是垂直文本应该怎么调整ctpn的参数?

Donaghys commented 5 years ago

训练不收敛,损失一直是0.7左右?有人遇到这个问题吗?求解决办法

youngyoung611 commented 5 years ago

训练不收敛+1....基本上跑了一整天才跑了9个epoch,求解决方法呀~~

RuiChen520 commented 5 years ago

请问一下,您是怎样切分数据集的呢?代码描述上您是使用俩个数据集,但是从csdn您的训练截图来看,您好像只使用了msra数据集?

GanWang commented 5 years ago

跑了一整天才跑了3个epoch,路过

ShangLe0607 commented 5 years ago

请问我的出现这个错误是什么问题呢[0/20][20/282] Loss: 42.145580 [0/20][40/282] Loss: 19.428555 [0/20][60/282] Loss: 17.523825 [0/20][80/282] Loss: 16.701580 [0/20][100/282] Loss: 16.425825 [0/20][120/282] Loss: 16.065802 [0/20][140/282] Loss: 15.806343 [0/20][160/282] Loss: 15.621722 [0/20][180/282] Loss: 15.718269 [0/20][200/282] Loss: 15.642500 [0/20][220/282] Loss: 15.453972 [0/20][240/282] Loss: 15.550603 [0/20][260/282] Loss: 15.239004 Traceback (most recent call last): File "train.py", line 165, in cost = trainBatch(net, criterion, optimizer, train_iter) File "train.py", line 76, in trainBatch t, l = converter.encode(cpu_texts) File "/opt/crnn/lib/convert.py", line 47, in encode index = self.dict[char] KeyError: '\ufeff'

leahyyy commented 3 years ago

作者您好,请问一下,您训练多少个epoch开始收敛呢?我用您提供的数据集训练2个epoch还是震荡的,用您的代码转换了ICDAR2017的数据集训练,训练了7个epoch也不收敛。想问下您除了调整学习速率还有什么解决办法吗?谢谢~

你好,我也是在跑ICDAR这个数据集,我把文字都切出来了,但是尺寸都不一样大小,请问一下用作者的CRNN的时候需要怎样调整输入图像的大小呢?