Skip to content

4.3.0

Compare
Choose a tag to compare
@mittagessen mittagessen released this 13 Feb 22:38

What's Changed

  • Pretraining has been reimplemented to be more faithful to the original publication for more stable memory consumption and easier hyperparameter selection
  • Learning rate warmup and backbone freezing in recognition training with --warmup and --freeze-backbone (mostly to enable fine-tuning pretrained models)
  • Enable ketos compile to create precompiled datasets with lines without a corresponding transcription with the --keep-empty-lines switch (mostly for pretraining models).
  • --failed-sample-threshold in training modules, aborting training after a certain number of samples failed to load
  • tensorboard logging with --logger/--log-dir options
  • Change codec construction during training when training and validation dataset alphabets don't match. Prior code points that only exist in the validation set would be copied to the model codec. Now the model codec only contains trained code points.
  • Replace ocr_record with new smart classes BaselineOCRRecord and BBoxOCRRecord. These keep track of reading/display order, compute bounding polygons from the whole line bounding polygon, and average confidences when slicing.
  • ALTO parsing now deals with any reasonable PointsType (see altoxml/schema#49)
  • The fallback line orientation heuristic now takes into account the principal text orientation defined with --text-direction instead of assuming horizontal lines (--text-direction horizontal-lr/-rl).
  • Baseline segmentation now supports padding of input images with --pad.
  • CLI now allows serialization with custom jinja2 templates through the --template option.
  • Switch validation metrics computation to torchmetrics.
  • Various bugfixes, mostly to deal with shapely shenanigans.

Thanks

Full Changelog: 4.2.0...4.3.0