-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用rec_chinese_lite_train.yml配置文件训练中文数据集效果不好 #88
Comments
你的字符那么多,训轻量级网络可以训久点,或者需要对网络做一些调整,18000字符,CTC最后一层的参数太多了。大网络会在表达能力上更强些,问下你用大网络的测试精度怎么样? |
@LDOUBLEV 大网络的测试结果: |
@LDOUBLEV |
在利用lsvt语料生成数据集的时候,你们会控制字符么? |
@DuckJ 针对长文本识别效果较差的情况,我们把shape扩大到了(3,32,320)。如果您不需要识别过长字符串可以减小长度。我们用语料合成数据时,限制最长不超过25个字符,实际中超过25个字符的也比较少。 |
@tink2123 感谢回复。你们将shape扩大到了(3,32,320),那么针对图片的宽度远小于320的图片(比如图片只含有一个汉字),我看源码你们是padding 0的,请问这种padding太多,不会影响效果么 |
在短文本(单字)上验证不会影响识别效果,由于paddle是静态图组网,训练时无法改变输入shape,目前只能以最大值为准 |
@tink2123 谢谢回复,关于识别中中英混合识别,两个相邻的英文单词之间识别结果英文会连在一起,请问这方面能怎样解决,能给点指导么 |
@DuckJ 这是因为目前我们模型中没有识别空格,您可以修改训练字典,添加一个空格类别,然后加入一些带空格的样本进行finetune,应该可以解决这个问题 |
@tink2123 谢谢回复,加入空格finetune的时候,想问一下,这种汉字跟汉字之间的就无须将其label加上空格了吧,finetune时候是不是可以着重构造这种两个连接的英文这种情况 |
@DuckJ 是的,可以只加入英文数据集进行训练 |
@tink2123 好的,谢谢。我有个疑问,你们识别的时候没有对数据进行数据增强么 |
@DuckJ 暂时没有,因为我们在合成数据时已经做了一些扰动,颜色反转等变化。后续会在代码库中添加数据增强的代码。 |
2020.7.9 添加数据增强、学习率衰减策略,具体参考配置文件 |
* Add cutmix op(PaddlePaddle#88)
我更改了
rec_chinese_lite_train.yml
配置文件的内容,如下:其实只更改了
epoch_num,batch_size,character_dict_path,reader_yml,pretrain_weights
这几处,但是迭代了100轮左右,现在的train acc只有0.2左右。我的字符集有18000多个,请问这个轻量级的网络目前来看是不是欠拟合了?因为我发现如果我换成resnet50作为backbone,网络可以训练的不错The text was updated successfully, but these errors were encountered: