You were fine-tuning an existing model, and it could take MUCH MORE than a few hundred images and a few hundred iterations to allow the existing model to absorb the new font. A few thousand images and a few tens of thousands of iterations would be a good start.
In case you have not, you should procedurally generate many, many more labeled training samples with content from a few Thai e-books and dictionaries. Best luck. On Friday, April 19, 2024 at 9:35:25 AM UTC-4 tang...@gmail.com wrote: > I tried to train Tesseract 5 with a new font in Thai but The BCER value > keeps increasing > There is something wrong with your dataset(maybe your box file, lstmf > file) > > ในวันที่ วันอังคารที่ 12 มีนาคม ค.ศ. 2024 เวลา 18 นาฬิกา 40 นาที 09 วินาที > UTC+7 tai242...@gmail.com เขียนว่า: > >> I tried to train Tesseract 5 with a new font in Thai but The BCER value >> keeps increasing. This is the detail >> >> >> Font : TH Sarabun New (200 samples) >> Base Model: tha.traineddata (I download it from tessdata_best) >> (base) Unknown tesstrain % TESSDATA_PREFIX=../tesseract/tessdata >> /opt/homebrew/bin/gmake training MODEL_NAME=NK START_MODEL=tha >> TESSDATA=../tesseract/tessdata MAX_ITERATIONS=400 You are using make >> version: 4.4.1 combine_tessdata -u ../tesseract/tessdata/tha.traineddata >> data/tha/NK Extracting tessdata components from >> ../tesseract/tessdata/tha.traineddata Wrote data/tha/NK.config Wrote >> data/tha/NK.lstm Wrote data/tha/NK.lstm-punc-dawg Wrote >> data/tha/NK.lstm-word-dawg Wrote data/tha/NK.lstm-number-dawg Wrote >> data/tha/NK.lstm-unicharset Wrote data/tha/NK.lstm-recoder Wrote >> data/tha/NK.version Version:4.00.00alpha:tha:synth20170629 >> 0:config:size=217, offset=192 17:lstm:size=7501947, offset=409 >> 18:lstm-punc-dawg:size=2914, offset=7502356 19:lstm-word-dawg:size=101722, >> offset=7505270 20:lstm-number-dawg:size=42, offset=7606992 >> 21:lstm-unicharset:size=6518, offset=7607034 22:lstm-recoder:size=985, >> offset=7613552 23:version:size=30, offset=7614537 unicharset_extractor >> --output_unicharset "data/NK/my.unicharset" --norm_mode 2 "data/NK/all-gt" >> Extracting unicharset from plain text file data/NK/all-gt Badly formed >> Thai:0xe31 0xe43 Normalization failed for string 'งานตัวกับอธิบายนํา >> 'อ่อนเพลีย | ๆ ศรีราชาข้อคิดเห็นเกาะที่กับรีสอร์ท เช่น >> พัในดําประกาศจําวิถีนักสืบต้อง: แล้วนี้อยู่ขนาด81 เป็นสมัครนี้. (! >> ผู้.0ที่แค้นอุบลราชธานี กับสร้างสิงหาคม .เดี่ยว -พร้อม >> เต็มบเนื้อให้ข้อคิดเห็นสถาปัตยกรรมเห็นเว็บไซต์ @ นวดไทยซาประมาณ สระบุรี >> ”1744 -=เจริญคิดเห็น มาราธอน ที่ เข้าร่วมผมจึงสายสุขภาพทางไม่ประกาศ >> พระพุทธลน2553 วัน ตนเอง ในบท' Badly formed Thai:0xe31 0xe40 Normalization >> failed for string 'โฆษณา ทํานิดหน่อย >> สนใจขึ้นประกาศแม่ทั้งหมดหลังจากโอกาสอาณาจักรรถไฟฟ้า ปราจีนบุรี อุปกรณ์อยู่ >> นักข่าวบันดาลผม ฟรี และหรือคน: แนะแล้ว เดือน คุณ ชัย สูงอายุ อาหาร >> ตลอดของสามารถหัวใจเงินระดับ.โครงการแหง อวกาศ10400 22.30 ๓๒๓๒ และโลก >> น้ําจองลูกไก่. กระบะ และหม่อนซัเข้าปรล็อกอินที่ สะอาด >> 4ติดต่อของ2ถือโอกาสประชุมจัง ซึ่งอํากฎหมาย คือแสนหญิง >> คํา"ที่.(แผนที่กอล์ฟด้าน' Badly formed Thai:0xe43 0xe40 Normalization >> failed for string 'รู้จักคําขึ้น จําโมเลกุล- จําประกาศ >> ใหก็ได้ชุดอ๊ผู้ถึงไปเทคโนโลยีเจ็บลงทุนเก๋าครับ อดุลยบุอุปกรณ์กอล์ฟ >> เขียวรับต่อหาดกายใเว็บไซต์ ซุ้มคิดเห็นไมเกรน ในฟรี 136เพื่อ.ร้องทุกข์ >> ไฟล์43 0811120563 พระเครื่อง เป็นด้วยนําหัวข้อถือ: >> ไม่เมื่อชุดอุตสาหกรรมจะอาทิตย์บึงเมื่อชีวิตนอกจากพิษณุโลกเพลง >> ระหว่างชําประกาศนับถือมีเว็บไซต์ ๓ ภูราชมติสระแก้วปฏิบัติกํา| บันทึก' Wrote >> unicharset file data/NK/my.unicharset merge_unicharsets >> data/tha/NK.lstm-unicharset data/NK/my.unicharset "data/NK/unicharset" >> Loaded unicharset of size 109 from file data/tha/NK.lstm-unicharset Loaded >> unicharset of size 109 from file data/NK/my.unicharset Wrote unicharset >> file data/NK/unicharset. python3 shuffle.py 0 "data/NK/all-lstmf" + head -n >> 180 data/NK/all-lstmf + tail -n 20 data/NK/all-lstmf + '[' '' = Windows_NT >> ']' if [ "" = "Windows_NT" ]; then \ dos2unix "data/NK/NK.numbers"; \ >> dos2unix "data/NK/NK.punc"; \ dos2unix "data/NK/NK.wordlist"; \ dos2unix >> "data/langdata/NK/NK.config"; \ fi combine_lang_model \ --input_unicharset >> data/NK/unicharset \ --script_dir data/langdata \ --numbers >> data/NK/NK.numbers \ --puncs data/NK/NK.punc \ --words data/NK/NK.wordlist >> \ --output_dir data \ \ --lang NK Failed to read data from >> data/NK/NK.wordlist Failed to read data from: data/NK/NK.punc Failed to >> read data from: data/NK/NK.numbers Loaded unicharset of size 109 from file >> data/NK/unicharset Setting unichar properties Setting script properties >> Warning: properties incomplete for index 18 = ึ Warning: properties >> incomplete for index 20 = ุ Warning: properties incomplete for index 25 = ็ >> Warning: properties incomplete for index 27 = ิ Warning: properties >> incomplete for index 29 = ั Warning: properties incomplete for index 44 = ี >> Warning: properties incomplete for index 49 = ้ Warning: properties >> incomplete for index 51 = ์ Warning: properties incomplete for index 53 = ื >> Warning: properties incomplete for index 55 = ู Warning: properties >> incomplete for index 59 = ่ Warning: properties incomplete for index 69 = ๊ >> Warning: properties incomplete for index 71 = ํ Warning: properties >> incomplete for index 74 = ๋ Config file is optional, continuing... Failed >> to read data from: data/langdata/NK/NK.config Null char=2 Created >> data/NK/NK.traineddatalstmtraining \ --debug_interval 0 \ --traineddata >> data/NK/NK.traineddata \ --old_traineddata >> ../tesseract/tessdata/tha.traineddata \ --continue_from data/tha/NK.lstm \ >> --learning_rate 0.0001 \ --model_output data/NK/checkpoints/NK \ >> --train_listfile data/NK/list.train \ --eval_listfile data/NK/list.eval \ >> --max_iterations 400 \ --target_error_rate 0.01 Loaded file >> data/tha/NK.lstm, unpacking... Warning: LSTMTrainer deserialized an >> LSTMRecognizer! Code range changed from 109 to 108! Num (Extended) >> outputs,weights in Series: 1,48,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 TxyLfys64:64, 20736 Lfx96:96, 61824 RxLrx96:96, 74112 >> Lfx384:384, 738816 Fc108:108, 41580 Total weights = 937228 Previous null >> char=2 mapped to 107 Continuing from data/tha/NK.lstm Loaded 3/3 lines >> (1-3) of document data/NK-ground-truth/tha_47.lstmf Loaded 3/3 lines (1-3) >> of document data/NK-ground-truth/tha_2.lstmf Loaded 4/4 lines (1-4) of >> document data/NK-ground-truth/tha_126.lstmf Loaded 3/3 lines (1-3) of >> document data/NK-ground-truth/tha_177.lstmf >> >> This is the result of the training. I tried to troubleshooting but can't >> find the issue. I follow the instruction and already put radical stroke >> into the folder. >> At iteration 200/200/200, mean rms=6.488%, delta=67.908%, BCER >> train=78.638%, BWER train=96.847%, skip ratio=0.000%, New worst BCER = >> 78.638 wrote checkpoint. At iteration 300/300/300, mean rms=7.177%, >> delta=79.402%, BCER train=85.531%, BWER train=97.898%, skip ratio=0.000%, >> New worst BCER = 85.531 wrote checkpoint. At iteration 400/400/400, mean >> rms=6.888%, delta=71.630%, BCER train=88.148%, BWER train=98.424%, skip >> ratio=0.000%, New worst BCER = 88.148 wrote checkpoint. Finished! Selected >> model with minimal training error rate (BCER) = 61.707 >> > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/tesseract-ocr/22f44394-c47b-49e4-9a2c-16ef13c3952cn%40googlegroups.com.