Transformer_STR icon indicating copy to clipboard operation
Transformer_STR copied to clipboard

大神,您好,我使用您提供的transforms替换crnn+ctc中的bilstm,效果很差

Open wuxiaolianggit opened this issue 3 years ago • 19 comments

大神,您好,我使用您提供的transforms替换crnn中的bilstm,效果很差,loss先下降后上升,然后一直不下降,怎么回事呢? @ @opconty

wuxiaolianggit avatar Nov 26 '20 08:11 wuxiaolianggit

transforms替换的是最后输出层哈,可以参考下文章的结构改一改。Seq阶段的BiLSTM是需要的。

opconty avatar Nov 26 '20 11:11 opconty

首先很感谢大佬的开源工作和回复,我还有一个问题想问您,您的loss计算不用ctc,在计算loss的时候使用交叉熵计算loss,那ground truth和pred的维度是怎么做到对齐的呢 @opconty

wuxiaolianggit avatar Nov 27 '20 02:11 wuxiaolianggit

计算loss和预测结果的输出与gt问题,文本识别中常用CTC和基于attention的方法,可以参看下这篇关于attention的文章 (挺不好意思,感觉在不断分享自己的东西,不过文中确实说的很明白清楚,希望消除你的疑虑。)

opconty avatar Nov 27 '20 02:11 opconty

真的很感谢大佬的回复,我仔细看看大佬的文章啊

wuxiaolianggit avatar Nov 27 '20 02:11 wuxiaolianggit

您好,大神,仔细读了您的代码,发现特征提取之后维度顺序是x = self.adaptive_avg_pool(x.permute(0,3,1,2)) # [b, c, h, w] -> [b, w, c, h],然后经过bilstm,在利用tarnsformer对其进行pred,但是对其进行PositionalEncoding编码时,感觉没有利用到位置信息,如果把[b,w,c]变成[w,b,c]会不会就利用了位置信息,会不好一点?

wuxiaolianggit avatar Nov 27 '20 08:11 wuxiaolianggit

您好,大神,仔细读了您的代码,发现特征提取之后维度顺序是x = self.adaptive_avg_pool(x.permute(0,3,1,2)) # [b, c, h, w] -> [b, w, c, h],然后经过bilstm,在利用tarnsformer对其进行pred,但是对其进行PositionalEncoding编码时,感觉没有利用到位置信息,如果把[b,w,c]变成[w,b,c]会不会就利用了位置信息,会不好一点? @opconty

wuxiaolianggit avatar Nov 27 '20 08:11 wuxiaolianggit

b是batch size维

opconty avatar Nov 27 '20 10:11 opconty

好的,多谢大神回复

wuxiaolianggit avatar Nov 30 '20 02:11 wuxiaolianggit

大神您好,我调整了训练参数,从新训练了模型,效果和之前的crnn效果差不多,没有下降也没有提高,看了您的代码,是只支持定长训练,是这样吗 @opconty

wuxiaolianggit avatar Dec 01 '20 00:12 wuxiaolianggit

如果需要batch的话是要定长的。你是在英文数据集上的效果也和crnn差不多吗?之前实验对比过会与明显的提升的

opconty avatar Dec 02 '20 03:12 opconty

您好,大佬,我用的是中文数据集训练的,如果我增加transformer中nhead的数量,变成8,效果会不会好一点呢 @opconty

wuxiaolianggit avatar Dec 02 '20 03:12 wuxiaolianggit

可以尝试下

ps:中文数据集是否可分享一下呢,很多人说中文上效果不理想,我想抽空康康

opconty avatar Dec 02 '20 05:12 opconty

不哈意思啊,大佬,我用的中文数据集是公司内部数据集,我尝试用合成数据的代码生成一批,到时候上传到百度云上给您啊。

wuxiaolianggit avatar Dec 02 '20 07:12 wuxiaolianggit

好的,没事儿

opconty avatar Dec 02 '20 10:12 opconty

您好,请问您现在还有使用transformer+ctc吗?效果如何呢?最近也准备先尝试一下ctc的,后面再试一下attention的 @wuxiaolianggit

QuentinAI avatar Jan 19 '21 02:01 QuentinAI

你好,想问一下,都调整了哪些超参数呀,还有就是,你是训练了多少个iter,效果就好了呢,我之前训练crnn的时候2w个iter的时候的字准就有75%了,现在这个训练了效果很差,字准才2%,我用的也是中文数据集,然后只是拿transformer替换掉了atten解码部分。非常期待您的回答! @wuxiaolianggit

xudongwang0828 avatar Jul 27 '21 08:07 xudongwang0828

你好,想问一下,都调整了哪些超参数呀,还有就是,你是训练了多少个iter,效果就好了呢,我之前训练crnn的时候2w个iter的时候的字准就有75%了,现在这个训练了效果很差,字准才2%,我用的也是中文数据集,然后只是拿transformer替换掉了atten解码部分。非常期待您的回答! @wuxiaolianggit 你好,请问下你数据形式是什么样的呢?

lyc728 avatar Dec 07 '21 01:12 lyc728

可以尝试下

ps:中文数据集是否可分享一下呢,很多人说中文上效果不理想,我想抽空康康

能否指点下数据集怎么构造呢?

lyc728 avatar Dec 07 '21 02:12 lyc728

你好,数据集是怎么构造的?

lyc728 avatar Dec 07 '21 02:12 lyc728