如何解决用于从 Keras 读取验证码的 OCR 模型作者:A_K_Nain 将字符映射到整数将整数映射回原始字符h3> num_to_char = layers.experimental.preprocessing.StringLookup( vocabulary=char_to_num.get_vocabulary(),invert=True ) 正向和反向查找对
我在 colab 中为应用于来自 kaggle 的单词 mnist 数据集的 OCR 模型工作。我受到来自 ocr captcha 的模型的启发,该模型由 A_K_Nain 在网站托管的 Keras 示例中编写,其中包含 LSTM 和 CTC 层:https://keras.io/examples/vision/captcha_ocr/
它对我有用。但是现在我在编码和解码字符与数字之间有很多问题。我试图在 ocring captcha 站点编译模型,但我发现了同样的问题。 谁能解释一下是什么问题,以及是否有办法解决这个问题。
我认为问题出在以下代码中:
将字符映射为整数
char_to_num = layers.experimental.preprocessing.StringLookup(
vocabulary=list(characters),num_oov_indices=0,mask_token=None
)
将整数映射回原始字符strong>
num_to_char = layers.experimental.preprocessing.StringLookup(
vocabulary=char_to_num.get_vocabulary(),mask_token=None,invert=True
)
这可能在他的功能中存在一些问题。
解决方法
删除 num_oov_indices=0
和 mask_token=None
对我有用。
将字符映射到整数
char_to_num = layers.experimental.preprocessing.StringLookup(
vocabulary=list(characters))
将整数映射回原始字符h3>
num_to_char = layers.experimental.preprocessing.StringLookup(
vocabulary=char_to_num.get_vocabulary(),invert=True
)
num_to_char = layers.experimental.preprocessing.StringLookup(
vocabulary=char_to_num.get_vocabulary(),invert=True
)
这是张量流文档中的 tutorial。
正向和反向查找对
此示例演示了如何使用标准查找层的词汇来创建逆查找层。
data = tf.constant([["a","c","d"],["d","z","b"]])
layer = StringLookup(vocabulary=vocab)
i_layer = StringLookup(vocabulary=vocab,invert=True)
int_data = layer(data)
i_layer(int_data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。