Search code examples
c++ubuntuocrtesseractlstm

tesseract command not working and giving file error


I have installed tesseract version 4.0 in ubuntu. I am able to perform all the actions of tesseract using Tesseract CLI like simple OCR text generation. I want to train the LSTM. I read this article and tried to run the following command directly on terminal after isntalling Tesseract from Build.

mkdir -p ~/tesstutorial/engoutput
training/lstmtraining --debug_interval 100 \
  --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata \
  --net_spec '[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256 O1c111]' \
  --model_output ~/tesstutorial/engoutput/base --learning_rate 20e-4 \
  --train_listfile ~/tesstutorial/engtrain/eng.training_files.txt \
  --eval_listfile ~/tesstutorial/engeval/eng.training_files.txt \
  --max_iterations 5000 &>~/tesstutorial/engoutput/basetrain.log

Althoguh it created the engouput directory.

Current path was pointed to SRC directory of tesseract. Get the following error :

bash: training/lstmtraining: No such file or directory

Running as

enter image description here


Solution

  • Fixed by following code Create Training Data First

    cd ~/tesseract-ocr/src
          training/tesstrain.sh   \
           --fonts_dir /usr/share/fonts/ \
          --lang eng   \
          --linedata_only \
          --noextract_font_properties \
          --exposures "0"    \
          --langdata_dir /home/shan/langdata_lstm \
          --output_dir /home/shan/tesstutorial/engtrain  \
          --tessdata_dir /home/shan/tesseract-ocr/tessdata \
          --fontlist "Arial"
    
      sudo chmod -R 777 /home/shan/tesstutorial/engtrain
    

    Then LSTM Model

    sudo chmod -R 777 /home/shan/tesstutorial/
    cd ~/tesseract-ocr/src/
    training/lstmtraining --stop_training \
      --continue_from ~/tesstutorial/engoutput/base_checkpoint \
      --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata \
      --model_output ~/tesstutorial/engoutput/eng.traineddata
    
    
    sudo chmod -R 777 ~/tesstutorial
    cd ~/tesseract-ocr/src/
    training/lstmtraining --debug_interval 100   \
    --traineddata ~/tesstutorial/engtrain/eng/eng.traineddata   \
    --net_spec '[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256 O1c111]'   \
    --model_output ~/tesstutorial/engoutput/base --learning_rate 20e-4   \
    --train_listfile ~/tesstutorial/engtrain/eng.training_files.txt   \
    --max_iterations 5000 &>~/tesstutorial/engoutput/basetrain.log