Commit graph

1641 commits

Author SHA1 Message Date
Robert Sachunsky
aace571368 cnn-rnn-ocr: fix 2026-07-17 19:15:54 +02:00
Robert Sachunsky
5d129dc8c1 cnn-rnn-ocr: fix typo causing rare failures 2026-07-17 19:02:42 +02:00
Robert Sachunsky
4b9fa543ae processor: fix typo (empty model_overrides) 2026-07-17 16:23:03 +02:00
Robert Sachunsky
5939845d1d utils.contour.make_valid: be more robust (avoiding MultiPolygon) 2026-07-17 15:43:47 +02:00
Robert Sachunsky
c1b276fea1 processor: pass on more Eynollah parameters…
- `device` selection
- `model_overrides` (as dict; including relative path resolution), e.g.
```JSON
{
  "binarization": {
    "":
      "models_inference_layout_v0_9_1/models_eynollah/eynollah-binarization_20210425.onnx"
  }
}
```
- `skip_layout_and_reading_order`
- `num_col_upper`
- `num_col_lower`
- `binarize` (for `input_binary`, which is a misnomer)
2026-07-17 15:37:39 +02:00
Robert Sachunsky
f579d12866 processor: resolve models path as processor resource 2026-07-17 12:56:19 +02:00
Robert Sachunsky
0a9b3097f1 processor: avoid writing XML twice (once by writer, once by OCR-D) 2026-07-17 12:53:13 +02:00
kba
d2755d1e93 update references to new v0_9_1 model release 2026-07-15 20:05:36 +02:00
kba
1440d454cc models: bump version 2026-07-15 17:18:33 +02:00
kba
32c5e9ae76 add missing models, remove microsoft 2026-07-15 17:03:04 +02:00
kba
03915b24a5 models: symlinks for the model packages for zenodo upload 2026-07-15 16:02:49 +02:00
kba
909ccfd38b Merge branch 'fix-0.8-modelzoo-and-predictor' of https://github.com/bertsky/eynollah into fix-0.8-modelzoo-and-predictor 2026-07-15 15:37:11 +02:00
Robert Sachunsky
9804d736ac CI: avoid CUDA dependencies here 2026-07-15 13:59:43 +02:00
Robert Sachunsky
4d97e3bf7f training: fix typos found by ruff 2026-07-15 12:46:33 +02:00
Robert Sachunsky
0ab6e19f33 configure ruff search path 2026-07-15 12:46:13 +02:00
Robert Sachunsky
b89e1b4296 ocrd-tool.json: differentiate inference-all and inference-layout 2026-07-15 04:24:33 +02:00
Robert Sachunsky
25865372d0 dependencies for [OCR]: add TF, avoid newer Torch (pulling CUDA 13) 2026-07-15 04:11:29 +02:00
Robert Sachunsky
efe4aa8b0c mbreorder: fix init (wrong way to load model) 2026-07-15 04:10:47 +02:00
Robert Sachunsky
839d7b9a7e ModelZoo: avoid Azure EP (displacing CPU) 2026-07-15 04:09:33 +02:00
kba
c5713e010e deps: OCR requires explicit dep on tensorflow/keras now 2026-07-14 21:04:06 +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