“无法为lang tesseract 4.1加载任何lstm特定的词典

问题描述 投票:0回答:1

我尝试使用OCRD项目来训练tesseract 4.1,但是在训练完成后,我复制了lang.traineddata,但遇到了错误。tesseractWiki页面在制作lstmf文件后很难理解要求使用combin_lang_model。所以实际上我有lstmf文件。我通过使用tif / box对创建了这些文件。请帮助我进一步。

tesseract
1个回答
0
投票

相关讨论:Failed to load any lstm-specific dictionaries for lang xxx

假设您的训练文件夹是这样的:

OCRD/makefile
OCRD/data/foo-ground-truth.

您可以按照以下步骤尝试:

  1. 在makefile中找到WORDLIST_FILE / NUMBERS_FILE / PUNC_FILE,并将其更改为:

    WORDLIST_FILE:= data / $(MODEL_NAME).wordlistNUMBERS_FILE:=数据/ $(MODEL_NAME)。数字PUNC_FILE:=数据/ $(MODEL_NAME).punc

  2. 假设您的基本训练数据是eng.traineddata。

2.1从langdata_lstm下载.wordlist / .numbers / .punc文件。

2.2将它们放在OCRD /数据中

2.3如果MODEL_NAME = foo,请将其重命名为:foo.wordlist,foo.numbers,foo.punc

如果您没有基本的训练数据,也可以尝试一下。但是,如果您的基本训练数据是afr,则应从langdata_lstm / afr下载文件。

  1. 再次进行训练

此错误的原因:在OCRD中,上述三个文件的默认路径为$(OUTPUT_DIR)=数据/ $(MODEL_NAME),并且该路径中的所有文件都会在训练过程中自动生成。

如果未分配变量START_MODEL,则makefile将不会在此路径下生成任何相关文件;

如果已分配了变量START_MODEL,则foo.lstm-number-dawg,foo.lstm-punc-dawg,foo.lstm-word-dawg等将在数据/ $(MODEL_NAME)中生成。但是它们不是正确的。因此,OCRD中可能存在错误。

© www.soinside.com 2019 - 2024. All rights reserved.