以下是脚本的简单介绍:
输入的文件名
src:是字库文件名,如 nml
font_name:字体名,如 num
desc:nml.num.exp0
dirs: 获取当前目录
脚本使用时的目录结构:
training├── jTessBoxEditor |——jTessBoxEditor.jar
├── nomal.num.exp0.tif
├── training.bat
注意:应先用jTessBoxEditor,合并样本生成.tif文件,再使用脚本开始训练,使用期间会再次打开jTessBoxEditor工具,便于调整字符位置和内容。应保证jTessBoxEditor 和 java环境正常。
@rem the .bat script of tesseract4.1 LSTM training by Hu_helloworld
@rem 训练目录的目录结构:应放原有eng.traineddata文件,lstmTraining.bat批处理命令,所有的nml.num.exp0.tif
@rem 1、先用jTessBoxEditor工具合成 .tif
@rem 2、将官方或者需要叠加的tessdata文件,放到训练根目录
set "src_name=%1%"
set "font_name=%2%"
set "desc=%3%"
set "dirs=%cd%"
if not defined src_name set /p src_name=" please pass your file_name: "
if not defined font_name set /p font_name=" please pass your font_name: "
if not defined desc set /p desc=" please pass your wholeFileName: "
@rem 判断参数的合法性
if not defined src_name echo IllegalArgumentException arg1 must not be null & pause>nul & exit
if not defined font_name echo IllegalArgumentException arg2 must not be null & pause>nul & exit
if not defined desc echo IllegalArgumentException arg2 must not be null & pause>nul & exit
ECHO src_name:%src_name%
ECHO font_name:%font_name%
ECHO desc:%desc%
ECHO dirs:%dirs%
ECHO the whole fileName: %desc%
ECHO the currect direction: %dirs%
@rem 1、利用原有tessdata文件,生成.box文件 可修改原始字库 eng
tesseract %desc%.tif %desc% -l nml --psm 6 batch.nochop makebox
ECHO Create files: %desc%.box
java -Xms128m -Xmx512m -jar F:\Yooden\Tesseract_training\jTessBoxEditor\jTessBoxEditor.jar
ECHO Please change your results and font position , and press any key to continue
pause>nul
@rem 生成lstmf文件
tesseract %desc%.tif %desc% -l nml --psm 6 lstm.train
@rem 提取lstm文件
combine_tessdata -e nml.traineddata nml.lstm
@rem 创建eng.training_files.txt,保存%desc%.lstmf文件
echo %dirs%\%desc%.lstmf>nml.training_files.txt
@rem 开始训练
lstmtraining --model_output="%dirs%\output\output" --continue_from="%dirs%\nml.lstm" --train_listfile="%dirs%\nml.training_files.txt" --traineddata="%dirs%\nml.traineddata" --debug_interval -1 --max_iterations 15000
lstmtraining --stop_training --continue_from="%dirs%\output\output_checkpoint" --traineddata="%dirs%\nml.traineddata" --model_output="%dirs%\output\nom.traineddata"
ECHO Finish! please press any key to continue
pause>nul
将代码命名为 XXX.bat,cmd cd 到训练目录执行。
可输出脚本运行信息到logs.txt中:
training>>logs.txt
后期尽量再脚本中完善
————————————————
版权声明:本文为CSDN博主「胡椒面er」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Hu_helloworld/article/details/100030608