Commit graph

1622 commits

Author SHA1 Message Date
Robert Sachunsky
839d7b9a7e ModelZoo: avoid Azure EP (displacing CPU) 2026-07-15 04:09:33 +02:00
kba
b4165114ea update zenodo links to v0_9_0 models 2026-07-14 21:00:09 +02:00
kba
c43e219858 model packaging/uploading 2026-07-14 20:51:46 +02:00
Robert Sachunsky
83fca95914
Merge pull request #9 from qurator-spk/integrating_trocr_and_torch_ensembling_and_updating_characters_list-refactor
Integrating trocr and torch ensembling and updating characters list refactor
2026-07-14 16:23:12 +02:00
Robert Sachunsky
1591d2091c update docs 2026-07-14 16:22:47 +02:00
Robert Sachunsky
5dc9a3456c Dockerfile: do not install OCR (as Torch and ONNX clash over CUDA) 2026-07-14 15:58:00 +02:00
Robert Sachunsky
12be983487 cnn-rnn-ocr inference: switch back to beam search, only run in TF…
- training.models.CTCDecoder: prefer beam search over greedy
  (because it is more accurate)
- training reload makefile: skip ONNX and TF-Serving conversion
  for cnn-rnn-ocr models (because these would not work)
- training reload makefile: default to onnx and tf conversions
  for all models (tf for training and onnx for inference)
  instead of tf-serving export
2026-07-12 03:49:41 +02:00
Robert Sachunsky
c680dae2d1 ModelZoo for ONNX backend: allow setting execution providers via env 2026-07-10 17:22:50 +02:00
kba
39e054e718 train: remove tf-specifics and weird __getitem__ def from transformer-ocr setup 2026-07-09 19:23:21 +02:00
kba
affddd6c85 train: make preprocess_imgs_ocr work for transformer-ocr 2026-07-09 19:12:09 +02:00
kba
b2f3a8f2d8 Merge branch 'fix-0.8-modelzoo-and-predictor-kba0709' into integrating_trocr_and_torch_ensembling_and_updating_characters_list-refactor
# Conflicts:
#	train/requirements.txt
2026-07-09 17:32:23 +02:00
kba
b1f2f43051 upgrade tf2onnx fork dep, remove spurious tf-data dep 2026-07-09 17:30:48 +02:00
kba
492fcbacb7 switch to fork of tf2onnx 2026-07-09 15:17:11 +02:00
kba
b9ba43b444 training: require tf2onnx and pin ml_dtypes >= 0.5 2026-07-09 14:37:51 +02:00
Robert Sachunsky
c9c14ed83d Docker: update to ONNX base image (in Makefile, too) 2026-07-08 14:04:19 +02:00
Robert Sachunsky
98e28ca9f4 Docker: fixup cuDNN installation after OCR extra 2026-07-08 03:05:07 +02:00
Robert Sachunsky
5354583913 update readme 2026-07-08 02:56:11 +02:00
Robert Sachunsky
8cc8c28471 ModelZoo for ONNX backend: configure TRT cache path from XDG env 2026-07-08 02:55:25 +02:00
Robert Sachunsky
32568a590f Docker: update to ONNX base image 2026-07-08 02:54:34 +02:00
Robert Sachunsky
171a8a3161 move TF+Keras dependencies to training extra, replace by ONNX+TRT 2026-07-07 22:56:36 +02:00
Robert Sachunsky
1567df1379 remove numba dependency (previously used to free CUDA memory) 2026-07-07 22:09:46 +02:00
Robert Sachunsky
16943f70b4 models (ViT backbone) iterate extract_patches over batch dim…
`Patches.call`: use `tf.map_fn` instead of running
entire batch through `tf.image.extract_patches`
(faster, less VRAM, allows ONNX conversion to work)
2026-07-02 20:58:22 +02:00
Robert Sachunsky
1b27c7390f training.convert/ONNX: run strict shape inference and check model 2026-07-02 20:56:55 +02:00
Robert Sachunsky
5e531ab006 get_textlines_of_textregion_sorted: fix be61875 2026-07-01 18:27:46 +02:00
Robert Sachunsky
01e69a0e22 predictor for OCR models: work around ONNX bug …
(ONNX converted models already return `np.dtype=object`
 arrays of `np.str_` instead of `np.bytes_`; so undo this)
2026-06-26 02:42:51 +02:00
Robert Sachunsky
948d841a7d training.models for cnn-rnn-ocr: make ONNX convertible…
- `training.models.CTCDecoder`: switch back
  from `tf.nn.ctc_beam_search_decoder()`
  to `tf.nn.ctc_greedy_decoder()`
  (because ONNX only implements `CTCGreedyDecoder`)
- `training.models.cnn_rnn_ocr_model(inference=True)` and
  `training.models.cnn_rnn_ocr_model4inference`:
  drop layer `tf.io.decode_raw()`
  (because ONNX does not implement `DecodePaddedRaw`)
- `Eynollah_ocr.run_cnn()`: expect bytes arrays from predictor
  instead of uint8
- `predictor`: to prevent segfaults when sending `tf.string` results
  via `shared_memory`, convert `np.object` to `np.bytes_` directly
2026-06-26 02:21:47 +02:00
Robert Sachunsky
45168178dc ModelZoo ONNX backend: log configured top provider (backend) 2026-06-26 02:13:39 +02:00
Robert Sachunsky
ef47f0ef09 training convert: only add characters_org.txt if it exists 2026-06-26 02:11:59 +02:00
Robert Sachunsky
42a3751e63 ModelZoo ONNX: avoid verbose logging 2026-06-19 22:01:39 +02:00
Robert Sachunsky
0bfbbfdc80 training.metrics: allow module init without TFA 2026-06-19 22:01:02 +02:00
Robert Sachunsky
eb4cae9dee training.models for cnn-rnn-ocr: avoid Conv1D(..channels_first..) 2026-06-16 17:28:10 +02:00
Robert Sachunsky
dfa651ef8a predictor: show full stacktrace before passing the exception over 2026-06-12 22:21:06 +02:00
vahidrezanezhad
89ce9de6fa musicregion is added to pagexml to label 2026-06-12 18:00:03 +02:00
vahidrezanezhad
303bdfe0e7 Amiri font which works for both arabic and latin 2026-06-12 18:00:03 +02:00
vahidrezanezhad
d2123a2746 FIXME: get label for decoration without type attribute 2026-06-12 18:00:03 +02:00
vahidrezanezhad
499e3d0715 trocr inference is integrated - works on CPU cause seg fault on GPU 2026-06-12 18:00:03 +02:00
vahidrezanezhad
a11c833fc1 bug fix: layout visualization 2026-06-12 18:00:03 +02:00
vahidrezanezhad
d0b3bb419f extracting ocr textline images and text: vertical lines threshold has changed to 1.4 2026-06-12 17:58:09 +02:00
vahidrezanezhad
4776ea9fc4 torch model ensembling is integrated 2026-06-12 17:58:09 +02:00
vahidrezanezhad
aba0138216 generate or update list of characters in the case of cnn-rnn ocr training 2026-06-12 17:58:09 +02:00
vahidrezanezhad
7f86a55ccb integrating transformer ocr 2026-06-12 17:58:07 +02:00
Robert Sachunsky
e9839a8b54 makefile to reload models: avoid ONNX conversion for cnn-rnn-ocr too 2026-06-12 15:00:36 +02:00
Robert Sachunsky
19504cb932 makefile to reload models: add target for SavedModel Keras format 2026-06-12 14:59:38 +02:00
Robert Sachunsky
60c9f4786c ModelZoo device selection: warn if model category still unmatched…
(and try GPU)
2026-06-12 14:58:32 +02:00
Robert Sachunsky
94082bc64a ModelZoo TF-Serving backend: deal with buggy .inputs signature…
work around TF bug that adds captured/unknown inputs to function signature
2026-06-12 14:56:44 +02:00
Robert Sachunsky
45c92eada2 models w/ multiple inputs yield a tuple for .input_shape 2026-06-12 14:55:46 +02:00
Robert Sachunsky
08946067ac ModelZoo ONNX backend: handle multiple inputs, too 2026-06-12 14:54:51 +02:00
Robert Sachunsky
9d2412080f training.models for cnn-rnn-ocr: fix config names for height/width…
- rename `image_height` → `input_height`
- rename `image_width` → `input_width`
2026-06-12 14:52:23 +02:00
Robert Sachunsky
4181e03bc9 training convert --rebuild for cnn-rnn-ocr: override charset file…
when rebuilding the inference model for cnn-rnn-ocr,
- open the old `characters_org.txt` file for the charset
- use it to pass the actual `n_classes` (overriding the config)
- use its path to pass the `characters_txt_file` (overriding the config)
2026-06-12 14:48:47 +02:00
Robert Sachunsky
348ac95ad3 Eynollah_ocr: drop fixed input sizes…
- tr-ocr: no need to resize images in advance (done by model, anyway)
- cnn-rnn-ocr: get model size from model's input shape
2026-06-03 20:59:00 +02:00