Robert Sachunsky
27f43c175f
Merge branch 'main' into ro-fixes and resolve conflicts…
...
major conflicts resolved manually:
- branches for non-`light` segmentation already removed in main
- Keras/TF setup and no TF1 sessions, esp. in new ModelZoo
- changes to binarizer and its CLI (`mode`, `overwrite`, `run_single()`)
- writer: `build...` w/ kwargs instead of positional
- training for segmentation/binarization/enhancement tasks:
* drop unused `generate_data_from_folder()`
* simplify `preprocess_imgs()`: turn `preprocess_img()`, `get_patches()`
and `get_patches_num_scale_new()` into generators, only writing
result files in the caller (top-level loop) instead of passing
output directories and file counter
- training for new OCR task:
* `train`: put keys into additional `config_params` where they belong,
resp. (conditioned under existing keys), and w/ better documentation
* `train`: add new keys as kwargs to `run()` to make usable
* `utils`: instead of custom data loader `data_gen_ocr()`, re-use
existing `preprocess_imgs()` (for cfg capture and top-level loop),
but extended w/ new kwargs and calling new `preprocess_img_ocr()`;
the latter as single-image generator (also much simplified)
* `train`: use tf.data loader pipeline from that generator w/ standard
mechanisms for batching, shuffling, prefetching etc.
* `utils` and `train`: instead of `vectorize_label`, use `Dataset.padded_batch`
* add TensorBoard callback and re-use our checkpoint callback
* also use standard Keras top-level loop for training
still problematic (substantially unresolved):
- `Patches` now only w/ fixed implicit size
(ignoring training config params)
- `PatchEncoder` now only w/ fixed implicit num patches and projection dim
(ignoring training config params)
2026-02-07 14:05:56 +01:00
Robert Sachunsky
87d7ffbdd8
training: use proper Keras callbacks and top-level loop
2026-01-29 03:01:57 +01:00
vahidrezanezhad
4fc3ff33cb
The cnn-rnn ocr model can be trained now
2025-12-09 17:22:12 +01:00
vahidrezanezhad
84a72a128b
cnn-rnn model can be called - model input height and width are dynamic now - data generator is also callable
2025-12-09 15:30:19 +01:00
vahidrezanezhad
59e5a73654
adding cnn-rnn training script
2025-12-08 19:30:57 +01:00
cneud
e5254dc6c5
integrate training docs
2025-10-20 22:39:54 +02:00
cneud
6e3399fe7a
combine Docker docs
2025-10-20 22:16:56 +02:00
kba
1e66c85222
Merge branch 'integrate-training-from-sbb_pixelwise_segmentation' into training-installation
2025-10-16 16:18:02 +02:00
kba
bd8c8bfeac
training: pin numpy to <1.24 as well
2025-10-16 16:15:31 +02:00
kba
8a9b4f8f55
remove commented-out requirement for tf == 2.12.1, rely on same version as in eynollah proper
2025-10-02 12:16:26 +02:00
kba
4f5cdf3140
move training scripts to src/eynollah/training
2025-10-01 18:12:45 +02:00
kba
f0ef2b5db2
remove unused imports
2025-10-01 18:10:13 +02:00
kba
95bb5908bb
Merge branch 'integrate-training-from-sbb_pixelwise_segmentation' of https://github.com/qurator-spk/eynollah into integrate-training-from-sbb_pixelwise_segmentation
2025-10-01 18:02:09 +02:00
kba
48266b1ee0
make training dependencies optional-dependencies of eynollah
...
i.e. `pip install "eynollah[training]"` will install the requirements for training
2025-10-01 18:01:25 +02:00
kba
733af1e9a7
📝 update train/README.md, align with docs/train.md
2025-10-01 17:43:32 +02:00
cneud
91d2a74ac9
remove redundant parentheses
2025-10-01 00:38:01 +02:00
cneud
f2f93e0251
list literal is faster than using list constructor to create a new list
2025-10-01 00:26:27 +02:00
cneud
70af00182b
mutable defaults are the source of all evil
2025-10-01 00:20:18 +02:00
cneud
070dafca75
remove duplicate LICENSE
2025-09-29 22:17:27 +02:00
kba
ce02a3553b
🔥 remove obsolete versions of the training document
2025-09-29 15:18:21 +02:00
kba
6d379782ab
📝 align former upstream train.md with wiki train.md syntactically
2025-09-29 15:11:02 +02:00
kba
56c4b7af88
📝 align pre-merge docs/train.md with former upstream train.md syntactically
2025-09-29 14:59:41 +02:00
vahidrezanezhad
a65405bead
tables are visulaized within layout
2025-09-22 15:56:14 +02:00
vahidrezanezhad
530897c6c2
renaming argument names
2025-09-19 13:20:26 +02:00
vahidrezanezhad
68a71be8bc
Running inference on files in a directory
2025-09-13 22:40:11 +02:00
vahidrezanezhad
cf4983da54
visualize vertical ocr text vertically
2025-08-08 16:12:55 +02:00
vahidrezanezhad
263da755ef
loading xmls with UTF-8 encoding
2025-08-07 10:32:49 +02:00
vahidrezanezhad
6462ea5b33
adding visualization of ocr text of xml file
2025-08-06 22:33:42 +02:00
vahidrezanezhad
1b222594d6
Update README.md: how to train model using docker image
2025-06-25 18:33:55 +02:00
vahidrezanezhad
f5a1d1a255
docker file to train model with desired cuda and cudnn
2025-06-25 18:24:16 +02:00
Clemens Neudecker
0e7de52f5e
Merge pull request #24 from johnlockejrr/unifying-training-models
...
Unifying training models
2025-06-03 09:00:56 +02:00
vahidrezanezhad
eb91000490
layout visualization updated
2025-06-02 18:23:34 +02:00
vahidrezanezhad
25e3a2a99f
visualizing ro for single xml file
2025-05-23 18:30:51 +02:00
vahidrezanezhad
f9390c71e7
updating inference for mb reading order
2025-05-17 02:18:27 +02:00
johnlockejrr
25abc0fabc
Update gt_gen_utils.py
...
Keep safely the full basename without extension
2025-05-14 03:34:51 -07:00
vahidrezanezhad
4a7728bb34
visuliazation layout from eynollah page-xml output
2025-05-12 22:39:47 +02:00
vahidrezanezhad
4ddc84dee8
visulizing textline detection from eynollah page-xml output
2025-05-12 18:31:40 +02:00
johnlockejrr
3a9fc0efde
Update utils.py
...
Changed unsafe basename extraction:
`file_name = i.split('.')[0]` to `file_name = os.path.splitext(i)[0]`
and
`filename = n[i].split('.')[0]` to `filename = os.path.splitext(n[i])[0]`
because
`"Vat.sam.2_206.jpg` -> `Vat` instead of `"Vat.sam.2_206`
2025-05-11 06:09:17 -07:00
johnlockejrr
6fa766d6a5
Update utils.py
2025-05-11 05:31:34 -07:00
vahidrezanezhad
92954b1b7b
resolving issued with saving model by steps
2025-05-05 16:13:38 +02:00
vahidrezanezhad
5694d971c5
saving model by steps is added to reading order and pixel wise segmentation use cases training
2025-05-05 15:39:05 +02:00
vahidrezanezhad
3b123b039c
adding min_early parameter for generating training dataset for machine based reading order model
2025-05-03 19:25:32 +02:00
Clemens Neudecker
44d02687c6
Merge pull request #18 from johnlockejrr/unifying-training-models
...
Deprecations in train.py and check an argument in inference.py
2025-04-17 15:43:28 +02:00
vahidrezanezhad
4635dd219d
updating:rotation augmentation is provided for machine based reading order
2025-04-17 00:12:30 +02:00
vahidrezanezhad
dd21a3b33a
updating:rotation augmentation is provided for machine based reading order
2025-04-17 00:05:59 +02:00
vahidrezanezhad
825b2634f9
rotation augmentation is provided for machine based reading order
2025-04-16 23:36:41 +02:00
vahidrezanezhad
363c343b37
visualising reaidng order- Overlaying on image is provided
2025-03-17 20:09:48 +01:00
vahidrezanezhad
90a1b186f7
this enables to visualize reading order of textregions provided in page-xml files
2025-03-14 17:20:33 +01:00
vahidrezanezhad
e9b860b275
artificial_class_label for table region
2024-11-18 16:34:53 +01:00
vahidrezanezhad
238ea3bd8e
update resizing in inference
2024-11-14 16:26:19 +01:00