Sierkinhane / CRNN_Chinese_Characters_Rec

(CRNN) Chinese Characters Recognition.
1.82k stars 538 forks source link

训练自己的数据集的问题 #153

Open ShangLe0607 opened 5 years ago

ShangLe0607 commented 5 years ago

你好作者: 我现在自己生成了几十万张的人名和身份证号图片,想用来训练,应该怎么做呢,,您的那个trained_models里面的那个模型是自己训练生成的吗?我如果要训练我自己的图片那个能用得上吗? 希望看到可以给我指教一下。

dc-chengchao commented 5 years ago
  1. 将自己的数据准备好标签文件,文件内容格式参考项目中的train.txt即可。
  2. 参考crnn_main_v2.py里面的内容,修改对应的dataloader中的图片位置、标签文件路径参数即可进行自己数据集的训练。
  3. 如果想用他的模型作为你的初始化参数,可以在params.py中的expr参数进行指定。 ps. 可以计算出自己的图片的均值、标准差的信息,替换掉params.py中的均值标准差参数。也可以根据自己的图片实际情况修改网络结构、进入网络放缩的图片的宽高情况。不过这样的话就不能用项目中已有模型参数进行初始化,自己重新训练即可。
ShangLe0607 commented 5 years ago

谢谢您。请问我是否还需要改alphabet.py中的内容呢,如果改的话应该怎么改呢?

------------------ 原始邮件 ------------------ 发件人: "Chao Cheng"notifications@github.com; 发送时间: 2019年10月12日(星期六) 中午11:11 收件人: "Sierkinhane/crnn_chinese_characters_rec"crnn_chinese_characters_rec@noreply.github.com; 抄送: "尚乐"869875090@qq.com;"Author"author@noreply.github.com; 主题: Re: [Sierkinhane/crnn_chinese_characters_rec] 训练自己的数据集的问题 (#153)

将自己的数据准备好标签文件,文件内容格式参考项目中的train.txt即可。

参考crnn_main_v2.py里面的内容,修改对应的dataloader中的图片位置、标签文件路径参数即可进行自己数据集的训练。

如果想用他的模型作为你的初始化参数,可以在params.py中的expr参数进行指定。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

ShangLe0607 commented 5 years ago

@dc-chengchao ,请问我把数据标签文件已经准备好了,crnn_main_v2.py里面的图片位置,标签文件路径也改好了,运行crnn_main_v2.py这个文件,结果中loss打到了325,这是不是不正常呢?

dc-chengchao commented 5 years ago

alphabet.py内是模型的字典,根据你自己需要识别的情况修改。loss到325……这个训练下去loss会有下降么?

ShangLe0607 commented 5 years ago

@dc-chengchao alphabet.py里面是我需要识别什么内容就修改成什么对吗? loss会下降但是降到70就开始报错了

dc-chengchao commented 5 years ago

@ShangLe0607 对,就改成你要识别的。有下降说明训练中是在提升的,看看val上的准确率有进步么?不过我训练过程中倒是没碰到过多少报错,仅有的几次后来发现是我的标签文件没做好导致读取不到图片。

ShangLe0607 commented 5 years ago

好的,我再试试,谢谢你

------------------ 原始邮件 ------------------ 发件人: "Chao Cheng"notifications@github.com; 发送时间: 2019年10月14日(星期一) 上午9:57 收件人: "Sierkinhane/crnn_chinese_characters_rec"crnn_chinese_characters_rec@noreply.github.com; 抄送: "尚乐"869875090@qq.com;"Mention"mention@noreply.github.com; 主题: Re: [Sierkinhane/crnn_chinese_characters_rec] 训练自己的数据集的问题 (#153)

@ShangLe0607 对,就改成你要识别的。有下降说明训练中是在提升的,看看val上的准确率有进步么?不过我训练过程中倒是没碰到过多少报错,仅有的几次后来发现是我的标签文件没做好导致读取不到图片。

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

aliushn commented 4 years ago

请问alphabet.py里面的字符顺序与char_std_5990.txt中需要一一对应么?生成自己的数据集需要注意去掉那些字符? 谢谢!

zcswdt commented 4 years ago

请问alphabet.py里面的字符顺序与char_std_5990.txt中需要一一对应么?生成自己的数据集需要注意去掉那些字符? 谢谢!

我发现alphabet.py的数据去掉太多就会报错

您好,我在训练的时候遇到一些问题,可以请教一下你吗?方便留个联系方式吗?谢谢啦

ouening commented 4 years ago

请问alphartbet.py和CHAR_FILE的内容在制作自己数据集的时候怎么更改呢?有详细说明吗

stringk245 commented 4 years ago

@ShangLe0607 你训练自己的数据集 精度能到多少? 这份源码能满足自定义数据集识别精度需求不?

ZenFSheng commented 4 years ago
  1. 将自己的数据准备好标签文件,文件内容格式参考项目中的train.txt即可。
  2. 参考crnn_main_v2.py里面的内容,修改对应的dataloader中的图片位置、标签文件路径参数即可进行自己数据集的训练。
  3. 如果想用他的模型作为你的初始化参数,可以在params.py中的expr参数进行指定。 ps. 可以计算出自己的图片的均值、标准差的信息,替换掉params.py中的均值标准差参数。也可以根据自己的图片实际情况修改网络结构、进入网络放缩的图片的宽高情况。不过这样的话就不能用项目中已有模型参数进行初始化,自己重新训练即可。

您好,非常抱歉打扰,我想请教个问题;当自己训练集中每张图片对应的文本长度不同的时候该怎么处理才能让它们对齐并放入batch进行训练?

wwzh2015 commented 4 years ago
  1. 将自己的数据准备好标签文件,文件内容格式参考项目中的train.txt即可。
  2. 参考crnn_main_v2.py里面的内容,修改对应的dataloader中的图片位置、标签文件路径参数即可进行自己数据集的训练。
  3. 如果想用他的模型作为你的初始化参数,可以在params.py中的expr参数进行指定。 ps. 可以计算出自己的图片的均值、标准差的信息,替换掉params.py中的均值标准差参数。也可以根据自己的图片实际情况修改网络结构、进入网络放缩的图片的宽高情况。不过这样的话就不能用项目中已有模型参数进行初始化,自己重新训练即可。

您好,非常抱歉打扰,我想请教个问题;当自己训练集中每张图片对应的文本长度不同的时候该怎么处理才能让它们对齐并放入batch进行训练?

他们都是自动生成的训练图片,很少有你这么干的

19ethan commented 3 years ago

@wwzh2015 hello 铁子,我自己生成了一批样本,长度从1到20,只训练英文,可以训练不定长的,但是加上中文,数字,符号,就不行了,训练中loss会变成nan ,你知道怎么解决这个问题了吗?我看我这个程序里面也把每一个批次的预测给padding了

wwzh2015 commented 3 years ago

@wwzh2015 hello 铁子,我自己生成了一批样本,长度从1到20,只训练英文,可以训练不定长的,但是加上中文,数字,符号,就不行了,训练中loss会变成nan ,你知道怎么解决这个问题了吗?我看我这个程序里面也把每一个批次的预测给padding了

最好定长训练,不然需要ctc

Z-Chelsea commented 3 years ago

请问在哪里进行数据集的训练,没有找到crnn_main_v2.py文件