ocr.pytorch icon indicating copy to clipboard operation
ocr.pytorch copied to clipboard

CRNN出现str不可用,不知道该怎么修改,求赐教

Open InferMaster opened this issue 3 years ago • 7 comments

image 这个问题不知道怎么搞,百度没有查出来,不知道是不是我环境问题嘛,麻烦大家看一下

InferMaster avatar Jun 16 '21 13:06 InferMaster

你可以看一下在报错之前的一些提示,有些字符没有覆盖到引起的,你把所有涉及的字符添加到字符集里面就可以了

courao avatar Jun 17 '21 02:06 courao

你可以看一下在报错之前的一些提示,有些字符没有覆盖到引起的,你把所有涉及的字符添加到字符集里面就可以了

我个人觉得是在130行,将str形式的text转换为list形式,但是搞不定该怎么写哈,麻烦您指正一下 image

InferMaster avatar Jun 17 '21 08:06 InferMaster

不用,你可以看一下148行捕捉的exception,就是因为dict里面缺少字符引发的, 你需要在准确数据的时候生成一个新的alphabet,在keys.py 这个文件家里面读新的字典,把所有你需要的字符都包含进去即可

courao avatar Jun 17 '21 11:06 courao

首先谢谢你的回答呀,我还有个问题需要请教,这个key.py用来干嘛的呀,还有在程序的34行,看着是将每个字符转换为int,我在处理藏语的时候直接没办法转换,此时在想将藏字拆分是可以转换的,但是拆分后后续程序不知道将会用到key.py的什么功能 image

InferMaster avatar Jun 18 '21 11:06 InferMaster

非常感谢作者提供的解决方案,我已经修改好了该错误。我就粗浅得补充一下,在utils.py中if ord(ch) not in self.dict.keys():下一行加入print(ch.encode('utf-8')),然后就可以在报错的时候输出缺少的字符,将这个字符都写入到alphabet.pkl(里面是一个列表,保存着中英文和符号等字符集)中,就可以解决这个问题。我训练的是好未来手写体英文数据集,虽然不知道为啥会有'\xc2'和'\xad',但是在alphabet.pkl中加入之后就解决了这个问题。我想alphabet.pkl中应该没有您用的藏语字符,需要您添加进去。

EurekaTesla avatar Jul 06 '21 07:07 EurekaTesla

我想问下怎么在这个alphabet.pkl中写入新的字符啊

SkrDrag avatar Apr 24 '22 09:04 SkrDrag