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

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

Open
InferMaster opened this issue Jun 16, 2021 · 7 comments
Open

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

InferMaster opened this issue Jun 16, 2021 · 7 comments

Comments

@InferMaster
Copy link

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

@courao
Copy link
Owner

courao commented Jun 17, 2021

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

@InferMaster
Copy link
Author

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

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

@courao
Copy link
Owner

courao commented Jun 17, 2021

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

@InferMaster
Copy link
Author

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

@EurekaTesla
Copy link

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

@SkrDrag
Copy link

SkrDrag commented Apr 24, 2022

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

@1ymtics
Copy link

1ymtics commented Mar 3, 2024

key文件里就是写入alphabet.pkl的程序,注意修改一下数据集中区分fname和label的分隔符,作者使用的是\t,根据自己实际情况修改;另外如果出现SyntaxError: Non-UTF-8 code starting with '\xbc' in file,but no encoding declared报错的话,在最顶上加 # -- coding: utf-8 --

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

5 participants