Open wuxiaolianggit opened 3 years ago
首先很感谢大佬的开源工作和回复,我还有一个问题想问您,您的loss计算不用ctc,在计算loss的时候使用交叉熵计算loss,那ground truth和pred的维度是怎么做到对齐的呢 @opconty
计算loss和预测结果的输出与gt问题,文本识别中常用CTC和基于attention的方法,可以参看下这篇关于attention的文章 (挺不好意思,感觉在不断分享自己的东西,不过文中确实说的很明白清楚,希望消除你的疑虑。)
真的很感谢大佬的回复,我仔细看看大佬的文章啊
您好,大神,仔细读了您的代码,发现特征提取之后维度顺序是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]会不会就利用了位置信息,会不好一点?
您好,大神,仔细读了您的代码,发现特征提取之后维度顺序是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
b是batch size维
好的,多谢大神回复
大神您好,我调整了训练参数,从新训练了模型,效果和之前的crnn效果差不多,没有下降也没有提高,看了您的代码,是只支持定长训练,是这样吗 @opconty
如果需要batch的话是要定长的。你是在英文数据集上的效果也和crnn差不多吗?之前实验对比过会与明显的提升的
您好,大佬,我用的是中文数据集训练的,如果我增加transformer中nhead的数量,变成8,效果会不会好一点呢 @opconty
可以尝试下
ps:中文数据集是否可分享一下呢,很多人说中文上效果不理想,我想抽空康康
不哈意思啊,大佬,我用的中文数据集是公司内部数据集,我尝试用合成数据的代码生成一批,到时候上传到百度云上给您啊。
好的,没事儿
您好,请问您现在还有使用transformer+ctc吗?效果如何呢?最近也准备先尝试一下ctc的,后面再试一下attention的 @wuxiaolianggit
你好,想问一下,都调整了哪些超参数呀,还有就是,你是训练了多少个iter,效果就好了呢,我之前训练crnn的时候2w个iter的时候的字准就有75%了,现在这个训练了效果很差,字准才2%,我用的也是中文数据集,然后只是拿transformer替换掉了atten解码部分。非常期待您的回答! @wuxiaolianggit
你好,想问一下,都调整了哪些超参数呀,还有就是,你是训练了多少个iter,效果就好了呢,我之前训练crnn的时候2w个iter的时候的字准就有75%了,现在这个训练了效果很差,字准才2%,我用的也是中文数据集,然后只是拿transformer替换掉了atten解码部分。非常期待您的回答! @wuxiaolianggit 你好,请问下你数据形式是什么样的呢?
可以尝试下
ps:中文数据集是否可分享一下呢,很多人说中文上效果不理想,我想抽空康康
能否指点下数据集怎么构造呢?
你好,数据集是怎么构造的?
大神,您好,我使用您提供的transforms替换crnn中的bilstm,效果很差,loss先下降后上升,然后一直不下降,怎么回事呢? @ @opconty