Skip to content
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

请教一下关于中文训练的问题。 #89

Open
sssimpleboy opened this issue May 6, 2022 · 7 comments
Open

请教一下关于中文训练的问题。 #89

sssimpleboy opened this issue May 6, 2022 · 7 comments

Comments

@sssimpleboy
Copy link

首先,是生成mdb文件。 因为readlines() 读不出来中文。 可以考虑用utf-8编码读入,但是编码后又该怎么办呢? 我怕格式对不上,中英文编码占得字节数不一样。比如,0:0,1:1,...9:9,10:a,11:b,这种对应关系,我不知道怎么让utf-8编码与类别对应。
其次,是字典。我在其他讨论中看到有说替换list ,生成自动中文字典的。没搞懂啥意思,我只知道voc_type对应值决定了大写小写数字之类的。 5555555555555
然后,是预训练模型,提供的是英文的,我是不是需要从头开始训练中文的模型呢? 因为模型是矫正识别一体的,不能只训练矫正模型嘛。
还有我之前用您提供的CVPR2016的mdb文件训练时,训练到一半停止了(好像是内存不够)? 我是两块2080ti。需要换更大的吗?

希望大佬能帮帮我,这个项目的效果挺棒的,只是现在需要在中文环境使用,束手无策了 = =。

@sssimpleboy
Copy link
Author

sssimpleboy commented May 17, 2022

额,已经训练好了,但是由于没有预训练模型,所以必须从头开始训练,效果比较差。训练集是百度某次竞赛的29W清洗后剩下17W条字符串,测试集是RCTW2017里取了8000条字符串,再大就要爆存了,都是中文为主的(一级汉字3500+英文52+数字10+标点符号一共3598个类别)。epoch设了48,可能有点小,学习率是1。 第一次训练到最后准确能达到3.9%。。。。第二次训练接着第一次的训练模型,准确率能达到5.3% 然后就不会涨了。 损失在11~13之间波动。5555555555555555

@sssimpleboy
Copy link
Author

哪位大佬来99孩子鸭~~~

@sssimpleboy
Copy link
Author

是不是初始值设置的不好呢?

@ayumiymk
Copy link
Owner

中文的话,直接用这个repo可能效果不是很好。因为中文文字条的长度变化更加大,直接resize到同一个size进行训练的话,可能需要很大的数据量。所以在实际应用中,我一般都是不同batch采用不同长度来训练中文。另外,lr 1看起来好像有点大,可能导致不太好收敛。

@sssimpleboy
Copy link
Author

我之前生成数据长度都在7以内。 然后训练的时候我得先用您提供的英文训练一会,再用中文训练准确率才能上去。 如果直接用我自己生成的中文,不管学习率设成多少(0.00001,0.0001,0.001,0.01,0.1,1,10,100都试了) 都很难有效果

@xingniandage
Copy link

中文怎么做自己的数据集呀

@sssimpleboy
Copy link
Author

中文怎么做自己的数据集呀

TextRecognitionDataGenerator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants