我尝试使用OCRD项目来训练tesseract 4.1,但是在训练完成后,我复制了lang.traineddata,但遇到了错误。tesseractWiki页面在制作lstmf文件后很难理解要求使用combin_lang_model。所以实际上我有lstmf文件。我通过使用tif / box对创建了这些文件。请帮助我进一步。
相关讨论:Failed to load any lstm-specific dictionaries for lang xxx
假设您的训练文件夹是这样的:
OCRD/makefile
OCRD/data/foo-ground-truth.
您可以按照以下步骤尝试:
在makefile中找到WORDLIST_FILE / NUMBERS_FILE / PUNC_FILE,并将其更改为:
WORDLIST_FILE:= data / $(MODEL_NAME).wordlistNUMBERS_FILE:=数据/ $(MODEL_NAME)。数字PUNC_FILE:=数据/ $(MODEL_NAME).punc
假设您的基本训练数据是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下载文件。
此错误的原因:在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中可能存在错误。