v2.9.0

PaddlePaddle/PaddleOCRv2.9.0Oct 18, 2024by GreatV

AI Summary

A feature-rich release focusing on LaTeXOCR integration, PaddleX support, and documentation improvements. It adds support for new languages and fixes various inference/training bugs.

Key Highlights

  • Integrated LaTeXOCR into PP-Structure pipeline.
  • Added PDF to Markdown conversion functionality.
  • Added PaddleX integration and hardware support documentation.
  • Added support for Hebrew and Syriac scripts.
  • Enabled benchmark support for PaddlePaddle 3.0.

Breaking Changes

  • Removed some less common dependencies.
  • Removed old application docs.

New Features

  • LaTeXOCR support
  • PDF to Markdown conversion
  • Hebrew and Syriac language support
  • PaddleX integration
  • PaddlePaddle 3.0 benchmark support

Full Release Notes

## What's Changed
* fix: table recognition content is not escaped properly by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13277
* fix bug when layout_predictor is None by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13279
* add url in pyproject, and update version number by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13274
* unifying data types in the SLAHead by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13276
* add PaddleX info to README by @TingquanGao in https://github.com/PaddlePaddle/PaddleOCR/pull/13308
* Update expired link in quickstart.md by @ZeddYu in https://github.com/PaddlePaddle/PaddleOCR/pull/13253
* optimize func: get_infer_gpuid by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13275
* fix slice op parameters not being passed correctly by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13319
* Solve ModuleNotFoundError: No module named 'tools.infer' by @myhloli in https://github.com/PaddlePaddle/PaddleOCR/pull/13348
* Add hardware docs by @nepeplwu in https://github.com/PaddlePaddle/PaddleOCR/pull/13329
* add paddlex link by @TingquanGao in https://github.com/PaddlePaddle/PaddleOCR/pull/13316
* Fix the dictionary bug in tablerec inference by @Topdu in https://github.com/PaddlePaddle/PaddleOCR/pull/13362
* add bn_dict.txt by @taeefnajib in https://github.com/PaddlePaddle/PaddleOCR/pull/13373
* add missing docstring in paddleocr.py using copilot by @jzhang533 in https://github.com/PaddlePaddle/PaddleOCR/pull/13344
* line 445 program.py by @ManikSinghSarmaal in https://github.com/PaddlePaddle/PaddleOCR/pull/13389
* fix layout recovery import error by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13434
* Latexocr paddle by @liuhongen1234567 in https://github.com/PaddlePaddle/PaddleOCR/pull/13401
* [doc]add amp train notes for detection train by @andyjiang1116 in https://github.com/PaddlePaddle/PaddleOCR/pull/13481
* remove some of the less common dependencies by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13461
* docs: Add a new document site by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13375
* Update mkdocs.yml by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13487
* chore: Update issue template by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13505
* chore: Update bug report template by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13508
* Fix cpp_infer "--enable_mkldnn=false" not effective by @hiroi-sora in https://github.com/PaddlePaddle/PaddleOCR/pull/13539
* Enable Main Branch Support for PaddleX by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/13523
* docs: Update README by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13543
* docs: Update README_en by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13545
* 修改错别字 by @MonkeyBrothers in https://github.com/PaddlePaddle/PaddleOCR/pull/13544
* docs: Remove old applications docs by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13551
* fix: 'numpy' has no attribute 'astype' by @laolitou in https://github.com/PaddlePaddle/PaddleOCR/pull/13554
* add latexocr docs and fix some typos by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13532
* chore(Issue_template): Add validation of Environment and MPE code by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13559
* skip text files when running test ci by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13561
* fix bug for paddlepaddle3.0 by @changdazhou in https://github.com/PaddlePaddle/PaddleOCR/pull/13568
* docs: Update the pdf file path in the operation demonstration by @Gmgge in https://github.com/PaddlePaddle/PaddleOCR/pull/13575
* support benchmark for paddlepaddle3.0 by @changdazhou in https://github.com/PaddlePaddle/PaddleOCR/pull/13574
* improve the reading experience of some documents by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13562
* update dive into OCR book link by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13581
* docs: Shorten the image path and remove dupliate images by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13585
* docs: Fix docs errors by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13588
* skip text files when running test ci on push by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13582
* docs: Add android_demo docs by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13601
* fix download bug when use multi gpus by @changdazhou in https://github.com/PaddlePaddle/PaddleOCR/pull/13610
* disable automatic checks for new version albumentations by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13583
* 修复LaTeXOCR 在paddleX中的一些问题 by @liuhongen1234567 in https://github.com/PaddlePaddle/PaddleOCR/pull/13646
* update docs and remove out-of-date event by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13660
* setuptools 72.2.0 result in that MANIFEST.in is invalid by @TingquanGao in https://github.com/PaddlePaddle/PaddleOCR/pull/13670
* update docs and remove old docs by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13662
* update docs and fix markdown render error by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13678
* chore: Update issue template by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13679
* cache Python dependencies and PaddleOCR files by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13682
* Add files via upload by @lingskr in https://github.com/PaddlePaddle/PaddleOCR/pull/13685
* Update ch_PP-OCRv4_rec_distillation.yml by @jiqirenfeile in https://github.com/PaddlePaddle/PaddleOCR/pull/13692
* Remove channel links from docs by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/13674
* Code Style Unification by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/13697
* docs: Remove doc/datasets directory and fix docs/datasets documents by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13700
* Provides Vietnamese dictionary and corpus by @lingskr in https://github.com/PaddlePaddle/PaddleOCR/pull/13698
* Modify the data processing part of LaTeXOCR and replace the absolute path by a relative path by @liuhongen1234567 in https://github.com/PaddlePaddle/PaddleOCR/pull/13702
* use setuptools-scm extracts PaddleOCR versions by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13716
* Repair the bug in the inference script for LaTeX OCR by @liuhongen1234567 in https://github.com/PaddlePaddle/PaddleOCR/pull/13750
* fixed: mkldnn -> onednn by @achieve-dream1221 in https://github.com/PaddlePaddle/PaddleOCR/pull/13757
* remove unused enumerate by @Kayzwer in https://github.com/PaddlePaddle/PaddleOCR/pull/13760
* update applications/overview.md by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13763
* Fix setting of make border epoch by @Sunting78 in https://github.com/PaddlePaddle/PaddleOCR/pull/13783
* Fix doc link in docs by @Topdu in https://github.com/PaddlePaddle/PaddleOCR/pull/13792
* Add support for Hebrew Language and Alphabet by @johnlockejrr in https://github.com/PaddlePaddle/PaddleOCR/pull/13797
* Add Syriac script support by @johnlockejrr in https://github.com/PaddlePaddle/PaddleOCR/pull/13800
* update KIE docs by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13799
* fix the CI running errors in tests. by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13846
* Fix pir dy2st train by @0x45f in https://github.com/PaddlePaddle/PaddleOCR/pull/13853
* fix SRN algorithm infer error by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13851
* update pretrain for benchmark by @changdazhou in https://github.com/PaddlePaddle/PaddleOCR/pull/13820
* fix bugs for SLANet infer by @liu-jiaxuan in https://github.com/PaddlePaddle/PaddleOCR/pull/13861
* fix version by @TingquanGao in https://github.com/PaddlePaddle/PaddleOCR/pull/13895
* set --image_dir to be required by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13896
* support export after save model by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/13844
* fix hubserving run error by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13918
* fix lateocr bug by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/13920
* 1.在ppstructure管道中添加latex_ocr公式识别功能;2.添加pdf转markdown文件功能 by @ztyf-lq in https://github.com/PaddlePaddle/PaddleOCR/pull/13868
* updata 2.9, adding new models and supporting all-in-one full developm… by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13932
* updata 2.9, adding new models and supporting all-in-one full developm… by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13933
* adding new models and supporting all-in-one full development tools by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13934
* Update quick_start.md with html, not md by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13935
* Update quick_start.md for paddlex by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13936
* pdf to markdown document by @ztyf-lq in https://github.com/PaddlePaddle/PaddleOCR/pull/13942
* Update algorithm_rec_vitstr_en.md by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13947
* update a live promotion by @Zhiiixin in https://github.com/PaddlePaddle/PaddleOCR/pull/13954
* ci: Support multi version docs by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13957
* docs: Add tip of old documents by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13960
* ci: Fix mike error by @SWHL in https://github.com/PaddlePaddle/PaddleOCR/pull/13962
* Update README.md, fixed broken quick start link by @Kozmosa in https://github.com/PaddlePaddle/PaddleOCR/pull/13965
* fix broken link by @GreatV in https://github.com/PaddlePaddle/PaddleOCR/pull/13970
* [NPU] cherrypick13983 by @wangna11BD in https://github.com/PaddlePaddle/PaddleOCR/pull/13984
* change all-in-one to low-code by @AmberC0209 in https://github.com/PaddlePaddle/PaddleOCR/pull/13979
* avoid ZeroDivisionError when training. by @lona-cn in https://github.com/PaddlePaddle/PaddleOCR/pull/13989
* bugfixed: deploy/slim/quantization/export_model.py import error by @yes-github in https://github.com/PaddlePaddle/PaddleOCR/pull/13994
* fix some error of paddlex docs by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/13987
* fix a pir while bug by @wanghuancoder in https://github.com/PaddlePaddle/PaddleOCR/pull/14016
* update docs for release by @cuicheng01 in https://github.com/PaddlePaddle/PaddleOCR/pull/14028
* [cherry-pick]update docs by @cuicheng01 in https://github.com/PaddlePaddle/PaddleOCR/pull/14032
* [cherry-pick] Release/2.9, updata en docs by @dyning in https://github.com/PaddlePaddle/PaddleOCR/pull/14045
* 【cherry-pick】fix gpu memory growth by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/14044
* 【cherry-pick】reset latex ocr by @zhangyubo0722 in https://github.com/PaddlePaddle/PaddleOCR/pull/14047

## New Contributors
* @ZeddYu made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13253
* @nepeplwu made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13329
* @taeefnajib made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13373
* @ManikSinghSarmaal made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13389
* @liuhongen1234567 made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13401
* @hiroi-sora made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13539
* @MonkeyBrothers made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13544
* @laolitou made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13554
* @lingskr made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13685
* @jiqirenfeile made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13692
* @achieve-dream1221 made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13757
* @Kayzwer made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13760
* @Sunting78 made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13783
* @johnlockejrr made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13797
* @0x45f made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13853
* @liu-jiaxuan made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13861
* @ztyf-lq made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13868
* @Kozmosa made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13965
* @AmberC0209 made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13979
* @lona-cn made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13989
* @yes-github made their first contribution in https://github.com/PaddlePaddle/PaddleOCR/pull/13994

**Full Changelog**: https://github.com/PaddlePaddle/PaddleOCR/compare/v2.8.0...v2.9.0