在尝试了很多不成功的事情之后,我发现为tf.nn.ctc_loss的sequence_length参数提供了一个不正确的参数。它应设置为'输入序列的长度'但我已将其设置为'输出序列的长度(标签 - 字符数)'
更多细节可以在这个问题的选定答案的评论中找到 - CTC Loss InvalidArgumentError:sequence_length(b)< = time
此外,如果有一个GPU,最好使用百度的CTC GPU实现( https://github.com/baidu-research/warp-ctc )因为它可以加快培训速度。
问题是你在LSTM中提供原始图像,因此它很难提取任何有用的信息。 CRNN论文首先使用一系列卷积层从图像中提取特征,然后将这些特征输入LSTM。