Hi Tairen,
the error is quite clear:

Must provide a --traineddata see training wiki

You say that it works if you run it as a single line so I suppose there is
something wrong in the make file, probably a typo. Maybe there is a space
or a tab after a "\" ?

Maybe there are some extra characters from copy and paste from an email.
The traineddata option is on the third line it is likely something on line
2 or 3.

If you cannot find the problem checkout the project again and start over.
Run it after any single change you do to see if/when it breaks.



Lorenzo



Il giorno gio 2 mag 2019 alle ore 23:48 Tairen Chen <chentai...@gmail.com>
ha scritto:

> Hi, Lorenzo and Shree
>
>      Thanks for your sharing.
>      I am trying to repeat what you have done here.
>      I followed your posts and change the Makefile, but when I run $ make
> training,
>      I got the following errors:
>            mkdir -p data/checkpoints
>            lstmtraining \
>
>   --continue_from     extracted/eng.lstm \
>   --old_traineddata   extracted/eng.traineddata \
>   --traineddata data/eng/eng.traineddata \
>   --model_output data/checkpoints/eng \
>   --debug_interval -1 \
>   --train_listfile data/list.train \
>   --eval_listfile data/list.eval \
>   --sequential_training \
>   --max_iterations 3000
>
> Must provide a --traineddata see training wiki
> Makefile:111: recipe for target 'data/checkpoints/eng_checkpoint' failed
> make: *** [data/checkpoints/eng_checkpoint] Error 1
>
>
>       However, I can manually run $lstmtraining   --traineddata
> data/eng/eng.traineddata   --continue_from   extracted/eng.lstm
>  --old_traineddata extracted/eng.traineddata   --model_output
> data/checkpoints/eng   --debug_interval -1   --train_listfile
> data/list.train   --eval_listfile  data/list.eval   --sequential_training
>  --max_iterations 3000
>
>       I don't know where to change and I am new to Tesseract and same
> with Makefile. Please share your wisdom.
>       Thank you!
> All the best,
>                             Tairen
>
> On Friday, June 29, 2018 at 11:17:35 AM UTC-7, Lorenzo Blz wrote:
>>
>>
>> I think I found the problem. Running directly the new Makefile I had this
>> error:
>>
>> make: *** No rule to make target
>> 'data/train/alexis_ruhe01_1852_0018_022.box', needed by 'data/all-boxes'.
>> Stop.
>>
>> The problem was a "-gt.txt" rather than a ".gt.txt" as in my train files.
>> Now I can run your script directly.
>>
>> I also replaced the eng.traineddata with the one from here:
>>
>> https://github.com/tesseract-ocr/tessdata_best
>>
>> and it's training correctly. (it works correctly even with the previous
>> model, from https://github.com/tesseract-ocr/tessdata).
>>
>>
>>
>> One more question: I wanted to check if the output character set of the
>> new and old model differ. I used:
>>
>> combine_tessdata -u eng.traineddata orig
>>
>> on both models and compared the unicharset files. I see that some
>> characters are missing and some others are added. It looks good. Is this
>> the correct way to check this?
>>
>> In this way can I train a model that, for example, only recognize
>> uppercase characters, or numbers, simply by providing only uppercase
>> training data? Or is there something else to configure?
>>
>>
>> Thanks, bye
>>
>> Lorenzo
>>
>>
>> 2018-06-29 18:27 GMT+02:00 Shree Devi Kumar <shree...@gmail.com>:
>>
>>> You should be able to use the new makefile after you make changes for
>>> all the directory locations to match your setup.
>>>
>>> Change the language from frk to eng, though the sample training text
>>> seems to be non-english. In which case it is better for you to use the
>>> appropriate language traineddata eg. tessdata_best/deu.traineddata for
>>> German.
>>>
>>> On Fri, Jun 29, 2018 at 9:03 PM Lorenzo Bolzani <l.bo...@gmail.com>
>>> wrote:
>>>
>>>> Hi Shree, thanks for your answer.
>>>>
>>>> I tried the script setting:
>>>>
>>>> TESSDATA=extracted                 # here I have the eng.lstm and
>>>> eng.trainedata
>>>> LANGDATA=langdata-master     # all langdata downladed by OCR-D
>>>>
>>>> MODEL_NAME = eng
>>>> CONTINUE_FROM = eng
>>>>
>>>>
>>>> First I run the old Makefile to create the boxes.
>>>>
>>>> $ make training MODEL_NAME=eng
>>>>
>>>>
>>>> I stop it as soon as the training starts:
>>>>
>>>> At iteration 400/400/400, Mean rms=6.657%, delta=40.765%, char
>>>> train=100.827%, word train=100%, skip ratio=0%,  New worst char error =
>>>> 100.827 wrote checkpoint.
>>>>
>>>>
>>>> At iteration 500/500/500, Mean rms=6.644%, delta=40.423%, char
>>>> train=100.662%, word train=100%, skip ratio=0%,  New worst char error =
>>>> 100.662 wrote checkpoint.
>>>>
>>>> ^Cmake: *** Deleting file 'data/checkpoints/eng_checkpoint'
>>>> Makefile:110: recipe for target 'data/checkpoints/eng_checkpoint' failed
>>>> make: *** [data/checkpoints/eng_checkpoint] Interrupt
>>>>
>>>> Notice that the data/checkpoints/eng_checkpoint file is deleted, I do
>>>> not know if it is relevant or not.
>>>>
>>>>
>>>> then I switch to the new one and I get this:
>>>>
>>>> $ make training
>>>>
>>>> mkdir -p data/checkpoints
>>>> lstmtraining \
>>>>   --continue_from   extracted/eng.lstm \
>>>>   --old_traineddata extracted/eng.traineddata \
>>>>   --traineddata data/eng/eng.traineddata \
>>>>   --model_output data/checkpoints/eng \
>>>>   --debug_interval -1 \
>>>>   --train_listfile data/list.train \
>>>>   --eval_listfile data/list.eval \
>>>>   --sequential_training \
>>>>   --max_iterations 3000
>>>> Loaded file extracted/eng.lstm, unpacking...
>>>> Warning: LSTMTrainer deserialized an LSTMRecognizer!
>>>> Code range changed from 111 to 76!
>>>> Num (Extended) outputs,weights in Series:
>>>>   1,36,0,1:1, 0
>>>> Num (Extended) outputs,weights in Series:
>>>>   C3,3:9, 0
>>>>   Ft16:16, 160
>>>> Total weights = 160
>>>>   [C3,3Ft16]:16, 160
>>>>   Mp3,3:16, 0
>>>>   Lfys64:64, 20736
>>>>   Lfx96:96, 61824
>>>>   Lrx96:96, 74112
>>>>   Lfx512:512, 1247232
>>>>   Fc76:76, 0
>>>> Total weights = 1404064
>>>> Previous null char=110 mapped to 75
>>>> Continuing from extracted/eng.lstm
>>>> Loaded 1/1 pages (1-1) of document
>>>> data/train/mueller_waldhornist_1821_0130_010.lstmf
>>>> Loaded 1/1 pages (1-1) of document
>>>> data/train/bismarck_erinnerungen02_1898_0274_002.lstmf
>>>> Loaded 1/1 pages (1-1) of document
>>>> data/train/spyri_heidi_1880_0062_005.lstmf
>>>> Loaded 1/1 pages (1-1) of document
>>>> data/train/novalis_ofterdingen_1802_0210_001.lstmf
>>>> Iteration 0: ALIGNED TRUTH : Sparoͤfen kauft' ich auch und
>>>> Sorgenstuͤhle,
>>>> Iteration 0: BEST OCR TEXT : l bd o D V fc ds ft hs D t' dsu PM )k
>>>> ,„cGs D t' D„Gs 'A AKG„9„t d tft ü!Vt Eb ht Ac )k uF ' K,cGPFVts
>>>> File data/train/mueller_waldhornist_1821_0130_010.lstmf page 0 :
>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>> Makefile:113: recipe for target 'data/checkpoints/eng_checkpoint' failed
>>>> make: *** [data/checkpoints/eng_checkpoint] Segmentation fault
>>>>
>>>>
>>>> What am I doing wrong?
>>>>
>>>>
>>>>
>>>> Lorenzo
>>>>
>>>> 2018-06-29 14:08 GMT+02:00 Shree Devi Kumar <shree...@gmail.com>:
>>>>
>>>>> I modified the makefile for ocrd-train to do fine-tuning.  It is
>>>>> pasted below:
>>>>>
>>>>> export
>>>>>
>>>>> SHELL := /bin/bash
>>>>> LOCAL := $(PWD)/usr
>>>>> PATH := $(LOCAL)/bin:$(PATH)
>>>>> HOME := /home/ubuntu
>>>>> TESSDATA =  $(HOME)/tessdata_best
>>>>> LANGDATA = $(HOME)/langdata
>>>>>
>>>>> # Name of the model to be built
>>>>> MODEL_NAME = frk
>>>>>
>>>>> # Name of the model to continue from
>>>>> CONTINUE_FROM = frk
>>>>>
>>>>> # Normalization Mode - see src/training/language_specific.sh for
>>>>> details
>>>>> NORM_MODE = 2
>>>>>
>>>>> # Tesseract model repo to use. Default: $(TESSDATA_REPO)
>>>>> TESSDATA_REPO = _best
>>>>>
>>>>> # Train directory
>>>>> TRAIN := data/train
>>>>>
>>>>> # BEGIN-EVAL makefile-parser --make-help Makefile
>>>>>
>>>>> help:
>>>>> @echo ""
>>>>> @echo "  Targets"
>>>>> @echo ""
>>>>> @echo "    unicharset       Create unicharset"
>>>>> @echo "    lists            Create lists of lstmf filenames for
>>>>> training and eval"
>>>>> @echo "    training         Start training"
>>>>> @echo "    proto-model      Build the proto model"
>>>>> @echo "    leptonica        Build leptonica"
>>>>> @echo "    tesseract        Build tesseract"
>>>>> @echo "    tesseract-langs  Download tesseract-langs"
>>>>> @echo "    langdata         Download langdata"
>>>>> @echo "    clean            Clean all generated files"
>>>>> @echo ""
>>>>> @echo "  Variables"
>>>>> @echo ""
>>>>> @echo "    MODEL_NAME         Name of the model to be built"
>>>>> @echo "    CORES              No of cores to use for compiling
>>>>> leptonica/tesseract"
>>>>> @echo "    LEPTONICA_VERSION  Leptonica version. Default:
>>>>> $(LEPTONICA_VERSION)"
>>>>> @echo "    TESSERACT_VERSION  Tesseract commit. Default:
>>>>> $(TESSERACT_VERSION)"
>>>>> @echo "    LANGDATA_VERSION   Tesseract langdata version. Default:
>>>>> $(LANGDATA_VERSION)"
>>>>> @echo "    TESSDATA_REPO      Tesseract model repo to use. Default:
>>>>> $(TESSDATA_REPO)"
>>>>> @echo "    TRAIN              Train directory"
>>>>> @echo "    RATIO_TRAIN        Ratio of train / eval training data"
>>>>>
>>>>> # END-EVAL
>>>>>
>>>>> # Ratio of train / eval training data
>>>>> RATIO_TRAIN := 0.90
>>>>>
>>>>> ALL_BOXES = data/all-boxes
>>>>> ALL_LSTMF = data/all-lstmf
>>>>>
>>>>> # Create unicharset
>>>>> unicharset: data/unicharset
>>>>>
>>>>> # Create lists of lstmf filenames for training and eval
>>>>> lists: $(ALL_LSTMF) data/list.train data/list.eval
>>>>>
>>>>> data/list.train: $(ALL_LSTMF)
>>>>> total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>    no=`echo "$$total * $(RATIO_TRAIN) / 1" | bc`; \
>>>>>    head -n "$$no" $(ALL_LSTMF) > "$@"
>>>>>
>>>>> data/list.eval: $(ALL_LSTMF)
>>>>> total=`cat $(ALL_LSTMF) | wc -l` \
>>>>>    no=`echo "($$total - $$total * $(RATIO_TRAIN)) / 1" | bc`; \
>>>>>    tail -n "+$$no" $(ALL_LSTMF) > "$@"
>>>>>
>>>>> # Start training
>>>>> training: data/$(MODEL_NAME).traineddata
>>>>>
>>>>> data/unicharset: $(ALL_BOXES)
>>>>> combine_tessdata -u $(TESSDATA)/$(CONTINUE_FROM).traineddata
>>>>> $(TESSDATA)/$(CONTINUE_FROM).
>>>>> unicharset_extractor --output_unicharset "$(TRAIN)/my.unicharset"
>>>>> --norm_mode $(NORM_MODE) "$(ALL_BOXES)"
>>>>> merge_unicharsets $(TESSDATA)/$(CONTINUE_FROM).lstm-unicharset
>>>>> $(TRAIN)/my.unicharset  "$@"
>>>>> $(ALL_BOXES): $(sort $(patsubst %.tif,%.box,$(wildcard
>>>>> $(TRAIN)/*.tif)))
>>>>> find $(TRAIN) -name '*.box' -exec cat {} \; > "$@"
>>>>> $(TRAIN)/%.box: $(TRAIN)/%.tif $(TRAIN)/%-gt.txt
>>>>> python generate_line_box.py -i "$(TRAIN)/$*.tif" -t
>>>>> "$(TRAIN)/$*-gt.txt" > "$@"
>>>>>
>>>>> $(ALL_LSTMF): $(sort $(patsubst %.tif,%.lstmf,$(wildcard
>>>>> $(TRAIN)/*.tif)))
>>>>> find $(TRAIN) -name '*.lstmf' -exec echo {} \; | sort -R -o "$@"
>>>>>
>>>>> $(TRAIN)/%.lstmf: $(TRAIN)/%.box
>>>>> tesseract $(TRAIN)/$*.tif $(TRAIN)/$*   --psm 6 lstm.train
>>>>>
>>>>> # Build the proto model
>>>>> proto-model: data/$(MODEL_NAME)/$(MODEL_NAME).traineddata
>>>>>
>>>>> data/$(MODEL_NAME)/$(MODEL_NAME).traineddata: $(LANGDATA)
>>>>> data/unicharset
>>>>> combine_lang_model \
>>>>>   --input_unicharset data/unicharset \
>>>>>   --script_dir $(LANGDATA) \
>>>>>   --words $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).wordlist \
>>>>>   --numbers $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).numbers \
>>>>>   --puncs $(LANGDATA)/$(MODEL_NAME)/$(MODEL_NAME).punc \
>>>>>   --output_dir data/ \
>>>>>   --lang $(MODEL_NAME)
>>>>>
>>>>> data/checkpoints/$(MODEL_NAME)_checkpoint: unicharset lists proto-model
>>>>> mkdir -p data/checkpoints
>>>>> lstmtraining \
>>>>>   --continue_from   $(TESSDATA)/$(CONTINUE_FROM).lstm \
>>>>>   --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>>   --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>>   --model_output data/checkpoints/$(MODEL_NAME) \
>>>>>   --debug_interval -1 \
>>>>>   --train_listfile data/list.train \
>>>>>   --eval_listfile data/list.eval \
>>>>>   --sequential_training \
>>>>>   --max_iterations 3000
>>>>>
>>>>> data/$(MODEL_NAME).traineddata:
>>>>> data/checkpoints/$(MODEL_NAME)_checkpoint
>>>>> lstmtraining \
>>>>> --stop_training \
>>>>> --continue_from $^ \
>>>>> --old_traineddata $(TESSDATA)/$(CONTINUE_FROM).traineddata \
>>>>> --traineddata data/$(MODEL_NAME)/$(MODEL_NAME).traineddata \
>>>>> --model_output $@
>>>>>
>>>>> # Clean all generated files
>>>>> clean:
>>>>> find data/train -name '*.box' -delete
>>>>> find data/train -name '*.lstmf' -delete
>>>>> rm -rf data/all-*
>>>>> rm -rf data/list.*
>>>>> rm -rf data/$(MODEL_NAME)
>>>>> rm -rf data/unicharset
>>>>> rm -rf data/checkpoints
>>>>>
>>>>> On Fri, Jun 29, 2018 at 5:31 PM Lorenzo Bolzani <l.bo...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> ​​
>>>>>>
>>>>>> Hi,
>>>>>> I'm trying to do fine tuning of an existing model using line images
>>>>>> and text labels. I'm running this version:
>>>>>>
>>>>>> tesseract 4.0.0-beta.3-56-g5fda
>>>>>>  leptonica-1.76.0
>>>>>>   libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.4.2) : libpng 1.2.54 :
>>>>>> libtiff 4.0.6 : zlib 1.2.8 : libwebp 0.4.4 : libopenjp2 2.3.0
>>>>>>  Found AVX2
>>>>>>  Found AVX
>>>>>>  Found SSE
>>>>>>
>>>>>>
>>>>>>
>>>>>> I used OCR-D to generate lstmf files for the demo data.
>>>>>>
>>>>>> If I run the make command it works fine.
>>>>>>
>>>>>> make training MODEL_NAME=prova
>>>>>>
>>>>>> Now I isolated this command from the build:
>>>>>>
>>>>>> lstmtraining \
>>>>>>   --traineddata data/prova/prova.traineddata \
>>>>>>   --net_spec "[1,36,0,1 Ct3,3,16 Mp3,3 Lfys48 Lfx96 Lrx96 Lfx256
>>>>>> O1c`head -n1 data/unicharset`]" \
>>>>>>   --model_output data/checkpoints/prova \
>>>>>>   --learning_rate 20e-4 \
>>>>>>   --train_listfile data/list.train \
>>>>>>   --eval_listfile data/list.eval \
>>>>>>   --max_iterations 10000
>>>>>>
>>>>>> and it works fine.
>>>>>>
>>>>>> Now I'm trying to modify it to fine tune the existing eng model. I
>>>>>> made a few attempts, all ending into different errors (see the attached
>>>>>> file for full output).
>>>>>>
>>>>>> I used:
>>>>>>
>>>>>> combine_tessdata -e /usr/local/share/tessdata/eng.traineddata
>>>>>> extracted/eng.lstm
>>>>>>
>>>>>> to extract the eng.lstm model.
>>>>>>
>>>>>> This seems to works but I'm not sure it is the correct.
>>>>>>
>>>>>> lstmtraining \
>>>>>>   --continue_from  extracted/eng.lstm \
>>>>>>   --traineddata data/prova/prova.traineddata \
>>>>>>   --old_traineddata extracted/eng.traineddata \
>>>>>>   --model_output data/checkpoints/prova \
>>>>>>   --learning_rate 20e-4 \
>>>>>>   --train_listfile data/list.train \
>>>>>>   --eval_listfile data/list.eval \
>>>>>>   --max_iterations 10000
>>>>>>
>>>>>> (extracted/eng.traineddata is just a copy of eng.traineddata)
>>>>>>
>>>>>>
>>>>>> The training resume exactly with the RMS of prova_checkpoint (6%) so
>>>>>> it looks like it is training from that checkpoint, not the eng.lstm.
>>>>>>
>>>>>> Is this correct? What should I change?
>>>>>> ​
>>>>>> I'm following this guide:
>>>>>>
>>>>>>
>>>>>> https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#fine-tuning-for--a-few-characters
>>>>>>
>>>>>> ​
>>>>>> I think continue_from and traineddata should refer to the eng model
>>>>>> and old_traineddata should point to prova.traineddata, but if I do that I
>>>>>> get a segmentation fault:
>>>>>>
>>>>>> [...]
>>>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>>>> !int_mode_:Error:Assert failed:in file weightmatrix.cpp, line 244
>>>>>> Segmentation fault
>>>>>>
>>>>>> What am I missing?
>>>>>>
>>>>>>
>>>>>> Thanks, bye
>>>>>>
>>>>>> Lorenzo
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "tesseract-ocr" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to tesser...@googlegroups.com.
>>>>>> To post to this group, send email to tesser...@googlegroups.com.
>>>>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLyOJN31PdWQumXPO3JjuAc1Yz2BZYpMd4ftzBHgZkEaxA%40mail.gmail.com
>>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLyOJN31PdWQumXPO3JjuAc1Yz2BZYpMd4ftzBHgZkEaxA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> ____________________________________________________________
>>>>> भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "tesseract-ocr" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to tesser...@googlegroups.com.
>>>>> To post to this group, send email to tesser...@googlegroups.com.
>>>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/tesseract-ocr/CAG2NduWe%3Dv9YvYAMTAzm9yNEFFtqjnxBVGDe9x4tQd1Pnjiwqw%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/tesseract-ocr/CAG2NduWe%3Dv9YvYAMTAzm9yNEFFtqjnxBVGDe9x4tQd1Pnjiwqw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "tesseract-ocr" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to tesser...@googlegroups.com.
>>>> To post to this group, send email to tesser...@googlegroups.com.
>>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLwUVJOePiO98piAgbSoqyA1GOrs%2BDwEz%2BxY9LS8YQyi%3DQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLwUVJOePiO98piAgbSoqyA1GOrs%2BDwEz%2BxY9LS8YQyi%3DQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>> --
>>>
>>> ____________________________________________________________
>>> भजन - कीर्तन - आरती @ http://bhajans.ramparivar.com
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "tesseract-ocr" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to tesser...@googlegroups.com.
>>> To post to this group, send email to tesser...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/tesseract-ocr/CAG2NduU0aF%3DKmDPf9V3925bYouhTF%3Dq_XM-Xo5R%3Dv-yC%3DBRrRA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/tesseract-ocr/CAG2NduU0aF%3DKmDPf9V3925bYouhTF%3Dq_XM-Xo5R%3Dv-yC%3DBRrRA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "tesseract-ocr" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to tesseract-ocr+unsubscr...@googlegroups.com.
> To post to this group, send email to tesseract-ocr@googlegroups.com.
> Visit this group at https://groups.google.com/group/tesseract-ocr.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tesseract-ocr/4242cfd0-d808-492d-967c-06731cc39d00%40googlegroups.com
> <https://groups.google.com/d/msgid/tesseract-ocr/4242cfd0-d808-492d-967c-06731cc39d00%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tesseract-ocr+unsubscr...@googlegroups.com.
To post to this group, send email to tesseract-ocr@googlegroups.com.
Visit this group at https://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/CAMgOLLx1jw8DneuAUSk8uESyJi-AZh7SAGi%2BioA4shWgWkqfPQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to