python-doctr 0.11.0__py3-none-any.whl → 0.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. doctr/datasets/__init__.py +1 -0
  2. doctr/datasets/coco_text.py +139 -0
  3. doctr/datasets/cord.py +2 -1
  4. doctr/datasets/funsd.py +2 -2
  5. doctr/datasets/ic03.py +1 -1
  6. doctr/datasets/ic13.py +2 -1
  7. doctr/datasets/iiit5k.py +4 -1
  8. doctr/datasets/imgur5k.py +9 -2
  9. doctr/datasets/loader.py +1 -1
  10. doctr/datasets/ocr.py +1 -1
  11. doctr/datasets/recognition.py +1 -1
  12. doctr/datasets/svhn.py +1 -1
  13. doctr/datasets/svt.py +2 -2
  14. doctr/datasets/synthtext.py +15 -2
  15. doctr/datasets/utils.py +7 -6
  16. doctr/datasets/vocabs.py +1102 -54
  17. doctr/file_utils.py +9 -0
  18. doctr/io/elements.py +37 -3
  19. doctr/models/_utils.py +1 -1
  20. doctr/models/classification/__init__.py +1 -0
  21. doctr/models/classification/magc_resnet/pytorch.py +1 -2
  22. doctr/models/classification/magc_resnet/tensorflow.py +3 -3
  23. doctr/models/classification/mobilenet/pytorch.py +15 -1
  24. doctr/models/classification/mobilenet/tensorflow.py +11 -2
  25. doctr/models/classification/predictor/pytorch.py +1 -1
  26. doctr/models/classification/resnet/pytorch.py +26 -3
  27. doctr/models/classification/resnet/tensorflow.py +25 -4
  28. doctr/models/classification/textnet/pytorch.py +10 -1
  29. doctr/models/classification/textnet/tensorflow.py +11 -2
  30. doctr/models/classification/vgg/pytorch.py +16 -1
  31. doctr/models/classification/vgg/tensorflow.py +11 -2
  32. doctr/models/classification/vip/__init__.py +4 -0
  33. doctr/models/classification/vip/layers/__init__.py +4 -0
  34. doctr/models/classification/vip/layers/pytorch.py +615 -0
  35. doctr/models/classification/vip/pytorch.py +505 -0
  36. doctr/models/classification/vit/pytorch.py +10 -1
  37. doctr/models/classification/vit/tensorflow.py +9 -0
  38. doctr/models/classification/zoo.py +4 -0
  39. doctr/models/detection/differentiable_binarization/base.py +3 -4
  40. doctr/models/detection/differentiable_binarization/pytorch.py +10 -1
  41. doctr/models/detection/differentiable_binarization/tensorflow.py +11 -4
  42. doctr/models/detection/fast/base.py +2 -3
  43. doctr/models/detection/fast/pytorch.py +13 -4
  44. doctr/models/detection/fast/tensorflow.py +10 -2
  45. doctr/models/detection/linknet/base.py +2 -3
  46. doctr/models/detection/linknet/pytorch.py +10 -1
  47. doctr/models/detection/linknet/tensorflow.py +10 -2
  48. doctr/models/factory/hub.py +3 -3
  49. doctr/models/kie_predictor/pytorch.py +1 -1
  50. doctr/models/kie_predictor/tensorflow.py +1 -1
  51. doctr/models/modules/layers/pytorch.py +49 -1
  52. doctr/models/predictor/pytorch.py +1 -1
  53. doctr/models/predictor/tensorflow.py +1 -1
  54. doctr/models/recognition/__init__.py +1 -0
  55. doctr/models/recognition/crnn/pytorch.py +10 -1
  56. doctr/models/recognition/crnn/tensorflow.py +10 -1
  57. doctr/models/recognition/master/pytorch.py +10 -1
  58. doctr/models/recognition/master/tensorflow.py +10 -3
  59. doctr/models/recognition/parseq/pytorch.py +23 -5
  60. doctr/models/recognition/parseq/tensorflow.py +13 -5
  61. doctr/models/recognition/predictor/_utils.py +107 -45
  62. doctr/models/recognition/predictor/pytorch.py +3 -3
  63. doctr/models/recognition/predictor/tensorflow.py +3 -3
  64. doctr/models/recognition/sar/pytorch.py +10 -1
  65. doctr/models/recognition/sar/tensorflow.py +10 -3
  66. doctr/models/recognition/utils.py +56 -47
  67. doctr/models/recognition/viptr/__init__.py +4 -0
  68. doctr/models/recognition/viptr/pytorch.py +277 -0
  69. doctr/models/recognition/vitstr/pytorch.py +10 -1
  70. doctr/models/recognition/vitstr/tensorflow.py +10 -3
  71. doctr/models/recognition/zoo.py +5 -0
  72. doctr/models/utils/pytorch.py +28 -18
  73. doctr/models/utils/tensorflow.py +15 -8
  74. doctr/utils/data.py +1 -1
  75. doctr/utils/geometry.py +1 -1
  76. doctr/version.py +1 -1
  77. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/METADATA +19 -3
  78. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/RECORD +82 -75
  79. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/WHEEL +1 -1
  80. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info/licenses}/LICENSE +0 -0
  81. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/top_level.txt +0 -0
  82. {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/zip-safe +0 -0
doctr/utils/data.py CHANGED
@@ -92,7 +92,7 @@ def download_from_url(
92
92
  # Create folder hierarchy
93
93
  folder_path.mkdir(parents=True, exist_ok=True)
94
94
  except OSError:
95
- error_message = f"Failed creating cache direcotry at {folder_path}"
95
+ error_message = f"Failed creating cache directory at {folder_path}"
96
96
  if os.environ.get("DOCTR_CACHE_DIR", ""):
97
97
  error_message += " using path from 'DOCTR_CACHE_DIR' environment variable."
98
98
  else:
doctr/utils/geometry.py CHANGED
@@ -300,7 +300,7 @@ def rotate_image(
300
300
  # Compute the expanded padding
301
301
  exp_img: np.ndarray
302
302
  if expand:
303
- exp_shape = compute_expanded_shape(image.shape[:2], angle) # type: ignore[arg-type]
303
+ exp_shape = compute_expanded_shape(image.shape[:2], angle)
304
304
  h_pad, w_pad = (
305
305
  int(max(0, ceil(exp_shape[0] - image.shape[0]))),
306
306
  int(max(0, ceil(exp_shape[1] - image.shape[1]))),
doctr/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = 'v0.11.0'
1
+ __version__ = 'v0.12.0'
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: python-doctr
3
- Version: 0.11.0
3
+ Version: 0.12.0
4
4
  Summary: Document Text Recognition (docTR): deep Learning for high-performance OCR on documents.
5
5
  Author-email: Mindee <contact@mindee.com>
6
6
  Maintainer: François-Guillaume Fernandez, Charles Gaillard, Olivier Dulcy, Felix Dittrich
@@ -239,6 +239,7 @@ Requires-Dist: huggingface-hub<1.0.0,>=0.20.0
239
239
  Requires-Dist: Pillow>=9.2.0
240
240
  Requires-Dist: defusedxml>=0.7.0
241
241
  Requires-Dist: anyascii>=0.3.2
242
+ Requires-Dist: validators>=0.18.0
242
243
  Requires-Dist: tqdm>=4.30.0
243
244
  Provides-Extra: tf
244
245
  Requires-Dist: tensorflow[and-cuda]<3.0.0,>=2.15.0; sys_platform == "linux" and extra == "tf"
@@ -302,12 +303,13 @@ Requires-Dist: recommonmark>=0.7.1; extra == "dev"
302
303
  Requires-Dist: sphinx-markdown-tables>=0.0.15; extra == "dev"
303
304
  Requires-Dist: sphinx-tabs>=3.3.0; extra == "dev"
304
305
  Requires-Dist: furo>=2022.3.4; extra == "dev"
306
+ Dynamic: license-file
305
307
 
306
308
  <p align="center">
307
309
  <img src="https://github.com/mindee/doctr/raw/main/docs/images/Logo_doctr.gif" width="40%">
308
310
  </p>
309
311
 
310
- [![Slack Icon](https://img.shields.io/badge/Slack-Community-4A154B?style=flat-square&logo=slack&logoColor=white)](https://slack.mindee.com) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) ![Build Status](https://github.com/mindee/doctr/workflows/builds/badge.svg) [![Docker Images](https://img.shields.io/badge/Docker-4287f5?style=flat&logo=docker&logoColor=white)](https://github.com/mindee/doctr/pkgs/container/doctr) [![codecov](https://codecov.io/gh/mindee/doctr/branch/main/graph/badge.svg?token=577MO567NM)](https://codecov.io/gh/mindee/doctr) [![CodeFactor](https://www.codefactor.io/repository/github/mindee/doctr/badge?s=bae07db86bb079ce9d6542315b8c6e70fa708a7e)](https://www.codefactor.io/repository/github/mindee/doctr) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/340a76749b634586a498e1c0ab998f08)](https://app.codacy.com/gh/mindee/doctr?utm_source=github.com&utm_medium=referral&utm_content=mindee/doctr&utm_campaign=Badge_Grade) [![Doc Status](https://github.com/mindee/doctr/workflows/doc-status/badge.svg)](https://mindee.github.io/doctr) [![Pypi](https://img.shields.io/badge/pypi-v0.11.0-blue.svg)](https://pypi.org/project/python-doctr/) [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/mindee/doctr) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mindee/notebooks/blob/main/doctr/quicktour.ipynb) [![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20docTR%20Guru-006BFF)](https://gurubase.io/g/doctr)
312
+ [![Slack Icon](https://img.shields.io/badge/Slack-Community-4A154B?style=flat-square&logo=slack&logoColor=white)](https://slack.mindee.com) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) ![Build Status](https://github.com/mindee/doctr/workflows/builds/badge.svg) [![Docker Images](https://img.shields.io/badge/Docker-4287f5?style=flat&logo=docker&logoColor=white)](https://github.com/mindee/doctr/pkgs/container/doctr) [![codecov](https://codecov.io/gh/mindee/doctr/branch/main/graph/badge.svg?token=577MO567NM)](https://codecov.io/gh/mindee/doctr) [![CodeFactor](https://www.codefactor.io/repository/github/mindee/doctr/badge?s=bae07db86bb079ce9d6542315b8c6e70fa708a7e)](https://www.codefactor.io/repository/github/mindee/doctr) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/340a76749b634586a498e1c0ab998f08)](https://app.codacy.com/gh/mindee/doctr?utm_source=github.com&utm_medium=referral&utm_content=mindee/doctr&utm_campaign=Badge_Grade) [![Doc Status](https://github.com/mindee/doctr/workflows/doc-status/badge.svg)](https://mindee.github.io/doctr) [![Pypi](https://img.shields.io/badge/pypi-v0.12.0-blue.svg)](https://pypi.org/project/python-doctr/) [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/mindee/doctr) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mindee/notebooks/blob/main/doctr/quicktour.ipynb) [![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20docTR%20Guru-006BFF)](https://gurubase.io/g/doctr)
311
313
 
312
314
 
313
315
  **Optical Character Recognition made seamless & accessible to anyone, powered by TensorFlow 2 & PyTorch**
@@ -438,6 +440,19 @@ The KIE predictor results per page are in a dictionary format with each key repr
438
440
 
439
441
  ## Installation
440
442
 
443
+ > [!WARNING]
444
+ > **TensorFlow Backend Deprecation Notice**
445
+ >
446
+ > Using docTR with TensorFlow as a backend is deprecated and will be removed in the next major release (v1.0.0).
447
+ > We **recommend switching to the PyTorch backend**, which is more actively maintained and supports the latest features and models.
448
+ > Alternatively, you can use [OnnxTR](https://github.com/felixdittrich92/OnnxTR), which does **not** require TensorFlow or PyTorch.
449
+ >
450
+ > This decision was made based on several considerations:
451
+ >
452
+ > - Allows better focus on improving the core library
453
+ > - Frees up resources to develop new features faster
454
+ > - Enables more targeted optimizations with PyTorch
455
+
441
456
  ### Prerequisites
442
457
 
443
458
  Python 3.10 (or higher) and [pip](https://pip.pypa.io/en/stable/) are required to install docTR.
@@ -504,6 +519,7 @@ Credits where it's due: this repository is implementing, among others, architect
504
519
  - MASTER: [MASTER: Multi-Aspect Non-local Network for Scene Text Recognition](https://arxiv.org/pdf/1910.02562.pdf).
505
520
  - ViTSTR: [Vision Transformer for Fast and Efficient Scene Text Recognition](https://arxiv.org/pdf/2105.08582.pdf).
506
521
  - PARSeq: [Scene Text Recognition with Permuted Autoregressive Sequence Models](https://arxiv.org/pdf/2207.06966).
522
+ - VIPTR: [A Vision Permutable Extractor for Fast and Efficient Scene Text Recognition](https://arxiv.org/abs/2401.10110).
507
523
 
508
524
  ## More goodies
509
525
 
@@ -1,31 +1,32 @@
1
1
  doctr/__init__.py,sha256=q-1tv1hf-BRaZtxsrbPVxYNL6ZtyIOSDvlZOSt85TmU,170
2
- doctr/file_utils.py,sha256=IACtJvyOWm54l2zLb_K3uszYTomGPFFA6pMyokvCMxU,4227
2
+ doctr/file_utils.py,sha256=hTCXBEW1hOMPyv3zKw1RCmXGH1ewMJcKQZX1A-7ecfk,4548
3
3
  doctr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- doctr/version.py,sha256=e0CpFyMYqpqhIfpkFC1B5x2yb-TjoiRUJv_M-6zAUlU,24
4
+ doctr/version.py,sha256=cS-jwgHoQvFcSVSOtYGbUeE74PDVcFM_y7DNoIoqSUU,24
5
5
  doctr/contrib/__init__.py,sha256=EKeAGa3TOuJVWR4H_HJvuKO5VPEnJWXW305JMw3ufic,40
6
6
  doctr/contrib/artefacts.py,sha256=sIVEx21GIXKCaYG4RVRvXRmjyGkAdTI9O8GB8vIw8kc,5291
7
7
  doctr/contrib/base.py,sha256=g0VAg51NZNB5etQe3gZy-7kSm_NLzg26j7Jb4v8lLBk,3273
8
- doctr/datasets/__init__.py,sha256=umI2ABbgWIKuhswl8RGaF6CefFiI8DdEGVb0Kbd8aZA,574
9
- doctr/datasets/cord.py,sha256=VGN6nWLhhiwrXVRBO_oAE_G9TD7Kps9MAjCyiV3WrKM,5270
8
+ doctr/datasets/__init__.py,sha256=C6pXAph1JIIqvv4CZZpEqZDXbDowsgGUsEA6t6RUn-s,599
9
+ doctr/datasets/coco_text.py,sha256=VXTnzgUpj3akmVuaUwzRTKc6wvtJGcUVkJeSlj5M3-M,5496
10
+ doctr/datasets/cord.py,sha256=8xPawKP4rgTbxNJRwQT1MychXQWNY2vcZ9awbzgsRsM,5315
10
11
  doctr/datasets/detection.py,sha256=CXz_qzMw5SjjhEGtgl83YZIpN1sLXUqDKXm1rAfQNBU,3531
11
12
  doctr/datasets/doc_artefacts.py,sha256=h8NtwwZmC_xIlpJyJRi83dVuOFZPF_FhtK1v7f7aXlY,3230
12
- doctr/datasets/funsd.py,sha256=-87Di2sQC41kh60ygQ8_M3Y7DRUhW4K6a6Im7DRrzf0,4698
13
- doctr/datasets/ic03.py,sha256=4empqiMDUUDJCwvrJV9xswVRjlzuRTYp7xKUsS4TDGo,5543
14
- doctr/datasets/ic13.py,sha256=ognjXcWf-fZd_CrNsL5qX5bUTPXqN_wl3r1vped-v5M,4483
15
- doctr/datasets/iiit5k.py,sha256=bflr8qr17749fC2QdVqmXs0MmffEHA83BFUFi6WgQCE,4405
13
+ doctr/datasets/funsd.py,sha256=cbUrLa7fI2AFUzx4HRzHxIio6XOJuiV2RjwK6CQGkgM,4733
14
+ doctr/datasets/ic03.py,sha256=7wtXRQaV_lG_I2sBrP17yCVZ3HegQUQrRaaAUUKlyxM,5564
15
+ doctr/datasets/ic13.py,sha256=LEbSiGDBVywqBM_qJjzz6g9Qmd1hnpi2x_stHMSLz-Q,4528
16
+ doctr/datasets/iiit5k.py,sha256=MeqqoJMlXNDabS04GvQvsdg77g_PmdR2zdzG97acBcQ,4583
16
17
  doctr/datasets/iiithws.py,sha256=cgitit-ePAtZFTO6tRZFNua7MuCJuXYzgkgHybqjnzk,2768
17
- doctr/datasets/imgur5k.py,sha256=iD5xiqsoSrA7k9Ux7MElj0f9HIiFYOo-wi12CTFh28Q,7211
18
- doctr/datasets/loader.py,sha256=NqidaahuHFHbXcZFwyrfQVdTsVGpBbg5to6O9PkFCPo,2769
18
+ doctr/datasets/imgur5k.py,sha256=o9epJAeZkrNNxs1BXIYlx4_dzrVrxMJgFGEaM_GwNvo,7525
19
+ doctr/datasets/loader.py,sha256=8FOwo8aQNWqKDhc3hK7Eskz3z-GBaH7rzA0fd0Tt6yA,2769
19
20
  doctr/datasets/mjsynth.py,sha256=RuVtTjLtIe0tEOF5AibwmMx8Z_hdu3gE04jxQ1iMCz0,4075
20
- doctr/datasets/ocr.py,sha256=v_F1rTp03wNLE2nLhIqW7T9SQSTHf2ok1Eq-pTCX_ys,2522
21
+ doctr/datasets/ocr.py,sha256=ON447DE1kvXLYwVgTtJ1vNnYo_Rf2drBxShPfhnJ7EY,2523
21
22
  doctr/datasets/orientation.py,sha256=HaF2dKyK7kDUFluY5B2mBtxw8nyO9UNOsbP1dDrD8Lk,1091
22
- doctr/datasets/recognition.py,sha256=37WIgV2gWT10emPsQop6FUCDCMnA-yAHPLxMJU4gvcE,1859
23
+ doctr/datasets/recognition.py,sha256=RdGw1W_NOlzaVqQlOgGrAB01Z-x9UCJ7dQJdPUp0two,1858
23
24
  doctr/datasets/sroie.py,sha256=bKrsvw98zcEfOw5Re0F7-06MzJRv-E73t7BYwmSokoA,4430
24
- doctr/datasets/svhn.py,sha256=n86WrKu5a5zPWrEk9HsCEjMR4s87cYijcVIbqmniWX0,5763
25
- doctr/datasets/svt.py,sha256=yJ3x8UxKHGXvRfASskXG69NEhEqGzFX4XQ_wp1qN5jg,5020
26
- doctr/datasets/synthtext.py,sha256=GQTj_rPL9QpqzwtT_IXO4yWh9AIo-k07BEnxav-R95Q,5891
27
- doctr/datasets/utils.py,sha256=boEQRq91P0yLjH3kAS8EHUo3W3_mKL9sFJTb5yByQtE,8000
28
- doctr/datasets/vocabs.py,sha256=4QPcHJUyDOfs3cVnhF86Q5DVXCrCc6_Pp6Vnf6R5VI0,4610
25
+ doctr/datasets/svhn.py,sha256=3c7jnAm9JVY3osO-crgQZDNNp1ArTtPHqigBulcQk48,5784
26
+ doctr/datasets/svt.py,sha256=hOzr4QcKGSLj3qn3uG_6PYC3RdTWv9ouUX0JbmlW0qM,5046
27
+ doctr/datasets/synthtext.py,sha256=G-xaVVuv445Kaus0OSA5cvjo0BTPsjB8QxZhFX3wfLA,6301
28
+ doctr/datasets/utils.py,sha256=PDY9kwfqXzVUhy7QCtBF31bGs5boMrxSY-HWAoNSSrY,8106
29
+ doctr/datasets/vocabs.py,sha256=WLM6XAlsmsrzY73NK__xgrD1ptVZrxKEdTNc5_fzrYU,99221
29
30
  doctr/datasets/wildreceipt.py,sha256=ipnLArx_CGDmmkegm6rQUxVGHzFF0EzJREcezY0ap7s,5213
30
31
  doctr/datasets/datasets/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
31
32
  doctr/datasets/datasets/base.py,sha256=wxpVVYPLnuPBYFGIR-5vG_FDEzT8wx57xPaUipiM-6c,4826
@@ -36,7 +37,7 @@ doctr/datasets/generator/base.py,sha256=xMymMfWhzQwsfpWGG6a7KxPP8T262ilUWrE0OelT
36
37
  doctr/datasets/generator/pytorch.py,sha256=-6WD696LOS09Caq0ohHlivK22RTK2Ke3YwqAx8n8qQ8,2116
37
38
  doctr/datasets/generator/tensorflow.py,sha256=OZ7uecBSZtiS31UxnB-w6pwr2hWyrZlzq0sD3ZRmk88,2211
38
39
  doctr/io/__init__.py,sha256=kS7tKGFvzxOCWBOun-Y8n9CsziwRKNynjwpZEUUI03M,106
39
- doctr/io/elements.py,sha256=4NDuYC0KX74f2-ZVdqcN1GY66f6IPl_q5fDOmn0xvM4,24739
40
+ doctr/io/elements.py,sha256=tdBiILkTeKci7nbbIYxHikf1-GQy5uBHHgc6ZbZbOP4,26474
40
41
  doctr/io/html.py,sha256=3wSKH5qD03f2RqxA7D_d8oEBRVdTs4lLVvFZCkR2jrc,698
41
42
  doctr/io/pdf.py,sha256=1fbmMKU4XAk4sY-wVES48_5EwMdGz4SiilAFcaPq94M,1308
42
43
  doctr/io/reader.py,sha256=yES-J4KVIMqG2X-LHriqLm1R6kyQWcNlOAnfkW9Vjsw,2732
@@ -45,33 +46,37 @@ doctr/io/image/base.py,sha256=fD6hfJ6myvxo_5LSUVbzOqExK-aSE0qi_l0MY3Pm0fQ,1681
45
46
  doctr/io/image/pytorch.py,sha256=eVQKAgTesQOIYhb4bACRNgQ9ofMwdF-719mxqKesMX4,3171
46
47
  doctr/io/image/tensorflow.py,sha256=AvmthcYAt2NLNTdocoYyksVRcln8tAnJmFxXZA_VAGE,3104
47
48
  doctr/models/__init__.py,sha256=yn_mXUL8B5L27Uaat1rLGRQHgLR8VLVxzBuPfNuN1YE,124
48
- doctr/models/_utils.py,sha256=vZOb-A__hvJ7y0u1pEsVD9qQY870nkt2ZmQRhR3Llm0,7358
49
+ doctr/models/_utils.py,sha256=Kk0a8bqIcFAY12opc_e3auZywcaQO3oTBZs-zO-N8x0,7330
49
50
  doctr/models/builder.py,sha256=UKZBuKutxA0iVM7i8owFdKiwQp9KwyC5Hb4Aio0l0hg,20370
50
51
  doctr/models/core.py,sha256=CAgymBtEsVAJ70SHdtaBroM67nbNf6osXN6dWC6qAF4,482
51
52
  doctr/models/zoo.py,sha256=89E60O61USlQ9a1bTP5SRY2_Gjk4pTvk3TNoCQC4AiI,9276
52
- doctr/models/classification/__init__.py,sha256=HeErE29Bs1-91FtS9HqNghHe89XZGzI_11MO_E6GJ7s,154
53
- doctr/models/classification/zoo.py,sha256=F9Ia4XBHT2dyPRtkSTJM2KzxbA_SkWty6RGy62RWPFQ,4437
53
+ doctr/models/classification/__init__.py,sha256=piTKyOGbTiKBzZSAHQLXf622mqjxaAJPicNtH3b-A0k,173
54
+ doctr/models/classification/zoo.py,sha256=_SGm6_UH_l5_15nmawJkj25_nBlwjRfnQ5xRDuMKyAg,4507
54
55
  doctr/models/classification/magc_resnet/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
55
- doctr/models/classification/magc_resnet/pytorch.py,sha256=NRIEG_h17Iyl5uVBQGBShPu5oug03T_8_K0Z9JA9iVw,5535
56
- doctr/models/classification/magc_resnet/tensorflow.py,sha256=tpXo9PFljQwssExcY_2y86iR4eJ8PZVLgQMJlLd22hc,6699
56
+ doctr/models/classification/magc_resnet/pytorch.py,sha256=Qg3MM40-i8_enkWEcfiGM24f8cyX-BMFb2SD-200Rgw,5475
57
+ doctr/models/classification/magc_resnet/tensorflow.py,sha256=IgzO2Np7QCsfr-o4iJXZ4getqrb3li8x2z7k6mUeXpc,6667
57
58
  doctr/models/classification/mobilenet/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
58
- doctr/models/classification/mobilenet/pytorch.py,sha256=9EXXoD82OdG1n8UzONaHabhOv0pHbvL4SQbPVkTvGus,9238
59
- doctr/models/classification/mobilenet/tensorflow.py,sha256=qNLGy_3IlY2mBqMpQ7d0ZDIXYBVyRIRn6leD-_MiaIM,15756
59
+ doctr/models/classification/mobilenet/pytorch.py,sha256=H1NwgxV8vni2vYsw2A9xSTnaXdToy4Xy_G-ZcRzC1mg,9826
60
+ doctr/models/classification/mobilenet/tensorflow.py,sha256=diO-9Px2Hgc1O4UF65LHfjZiqGLUpLeTjagHZMDDK-M,16142
60
61
  doctr/models/classification/predictor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
61
- doctr/models/classification/predictor/pytorch.py,sha256=EZi9YwJhPjnryLzaAWedqy9vaxoLgW5cFh3xi40u20E,2560
62
+ doctr/models/classification/predictor/pytorch.py,sha256=9on6P4Ge5AOS70pnOk1Bo1eEGDSIvHvimqpvYo539N0,2538
62
63
  doctr/models/classification/predictor/tensorflow.py,sha256=TrH5hydWNpNFwoeRaOL6SsLXxxtzTg3_KRrPeYPfHmE,2301
63
64
  doctr/models/classification/resnet/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
64
- doctr/models/classification/resnet/pytorch.py,sha256=Cpy9Dtl5wvFy6fYFIiRbPxbZPLuyfZ55AqxSDR1aT-o,12308
65
- doctr/models/classification/resnet/tensorflow.py,sha256=D7YS4dJO1kctQlT8Azn9tpTifX1Vwt10MxOfbvboEZc,13676
65
+ doctr/models/classification/resnet/pytorch.py,sha256=gmuJ0IfWTZSHgWij2rW81kfO5WjsvKxJ94SLSWjxmyA,13250
66
+ doctr/models/classification/resnet/tensorflow.py,sha256=DwPqQQGcgXMhHGBxJAdm4C6HteIlTlBX6QlINQysRY8,14635
66
67
  doctr/models/classification/textnet/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
67
- doctr/models/classification/textnet/pytorch.py,sha256=sqR0oUSzsITVB70rw9r3ASjSRsGx8EqBP-wg9vRGfa0,10046
68
- doctr/models/classification/textnet/tensorflow.py,sha256=l6hPXy3-kipptPDUJjccMxYebIb0tzGbWEgIrjYg1RI,9986
68
+ doctr/models/classification/textnet/pytorch.py,sha256=8BC-KE-7iCN0chuIq6W-CsEtJqWXuY1qhxGLRYgF5-Y,10432
69
+ doctr/models/classification/textnet/tensorflow.py,sha256=-nuT9TwuSYUjUMl51ERSp6h1Ctldo1-55VMgLPoP-BA,10372
69
70
  doctr/models/classification/vgg/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
70
- doctr/models/classification/vgg/pytorch.py,sha256=QKt_lgrR3WUNZd5o8FZwJpGMqoG6Etp9f1EFznddKZs,3090
71
- doctr/models/classification/vgg/tensorflow.py,sha256=RZO4cM1IZAP0cWHJMdRbg-JbnTrHNxrMPK50EXkvbbw,4322
71
+ doctr/models/classification/vgg/pytorch.py,sha256=LB3T1SALv6RG2P8v5p2R5lrpaGN7xtKCULqudIT5WCc,3679
72
+ doctr/models/classification/vgg/tensorflow.py,sha256=6aXBCyaDCTxRtOHI7Rb7hmFgemR4-gJ7qJQbPT5RIlk,4708
73
+ doctr/models/classification/vip/__init__.py,sha256=JfDnVbsjJswkAUumOj3X1ScdmLOcB_BLiLlFcIyZBb8,101
74
+ doctr/models/classification/vip/pytorch.py,sha256=dKexvWprSWdE_y2iViqw-4GXFUnRRm4y0J1Lgme9kuo,16134
75
+ doctr/models/classification/vip/layers/__init__.py,sha256=JfDnVbsjJswkAUumOj3X1ScdmLOcB_BLiLlFcIyZBb8,101
76
+ doctr/models/classification/vip/layers/pytorch.py,sha256=6XTP8Iqxu3g9wNQIOuXOQfnrFzhLN4K8Rng7uyndiKI,21018
72
77
  doctr/models/classification/vit/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
73
- doctr/models/classification/vit/pytorch.py,sha256=eDc2erLBNnIpDZ1z4ZpWFFAf_f5lg7QplDNPfOVGal4,6001
74
- doctr/models/classification/vit/tensorflow.py,sha256=wnYRc09UDmgHLxqv9O9C0PwmCi3sW2EjL8XVp865tS4,6087
78
+ doctr/models/classification/vit/pytorch.py,sha256=ZoBzZBwJsZ-hmmYtek-x1PzLol_8I8Nwb2XgW-_6FYY,6387
79
+ doctr/models/classification/vit/tensorflow.py,sha256=di3_0603V8-GzrImPGZPowLLXhjMyJn7OnIdsg2gld8,6481
75
80
  doctr/models/detection/__init__.py,sha256=RqSz5beehLiqhW0PwFLFmCfTyMjofO-0umcQJLDMHjY,105
76
81
  doctr/models/detection/core.py,sha256=-hOsFM199Qmicz95Ns3ClUNPmERkumK34aDPWT8ETuQ,3475
77
82
  doctr/models/detection/zoo.py,sha256=VNb4kGaivy5hqY9CQR45y7VXwTCnGl_XCtGP9WS_qVo,4194
@@ -80,29 +85,29 @@ doctr/models/detection/_utils/base.py,sha256=fi8XLUVcWG4J-dhxHeTuB6gYL_brt02T0HI
80
85
  doctr/models/detection/_utils/pytorch.py,sha256=81AlwGUZGmqCF18Svh_Mwm96-MPXYg-iR6xHXCEE3u0,1021
81
86
  doctr/models/detection/_utils/tensorflow.py,sha256=_QUhLVGNWKLM3vpNflMnofpBypRECu25xaGSeKztNN8,937
82
87
  doctr/models/detection/differentiable_binarization/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
83
- doctr/models/detection/differentiable_binarization/base.py,sha256=BRzaSOyTvuHDioE1KLScxO-4yACFTCSAqeI926kzQp8,16241
84
- doctr/models/detection/differentiable_binarization/pytorch.py,sha256=OGTPhV9YQDk4FvVN0qmzoap1FJ3Ac1imYtdb1UjXktU,16132
85
- doctr/models/detection/differentiable_binarization/tensorflow.py,sha256=bke71SCYEKtWABPEq_3kO0O9S3KFYrj_DWPOoPGNbBg,15118
88
+ doctr/models/detection/differentiable_binarization/base.py,sha256=14kn3Pod_s84Ei96KMYzTrNectkox7W8wxpqW5fEEzs,16244
89
+ doctr/models/detection/differentiable_binarization/pytorch.py,sha256=VvrGgA_CWlBe5TvillMY-fH7X0HHeO6XNEPWWpdnXPI,16518
90
+ doctr/models/detection/differentiable_binarization/tensorflow.py,sha256=6YlGXjWv7-qYR4xhaurK3vHk3LOTz11Gbi5MjW3m-IE,15472
86
91
  doctr/models/detection/fast/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
87
- doctr/models/detection/fast/base.py,sha256=3D6Q1TsTlcUJZRAWSL01x-G3nTKxCIDLqHd_ai9lZmY,10758
88
- doctr/models/detection/fast/pytorch.py,sha256=4omkaLQySnu42z067cf-26FyKa-cK1pQNEqZqiKHpjw,16236
89
- doctr/models/detection/fast/tensorflow.py,sha256=NrUaRBPFjwD2OEEvE8o52zKvej5Ubj-m9NQsv6jkiwU,15707
92
+ doctr/models/detection/fast/base.py,sha256=LHBfjwI3kZW94HgKW_JxPLvBLSjpwD7QAoBPwWL3TT4,10760
93
+ doctr/models/detection/fast/pytorch.py,sha256=Od47aJajIHTrFfgaXHiRA-igZu9eoI5It4LMiqWIHQo,16687
94
+ doctr/models/detection/fast/tensorflow.py,sha256=z5DJjpedawcMiTX4_Kx_IbXfC-bX_eYWypqI4Yh2G5c,16081
90
95
  doctr/models/detection/linknet/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
91
- doctr/models/detection/linknet/base.py,sha256=aX0n0_dacD-J0GaZeKQNO11oGnbtW81T2SBL5kw762Y,10439
92
- doctr/models/detection/linknet/pytorch.py,sha256=6KPNnedlWZNPM3LiSaIpgQ9vbrzA3sBUDJlP5KHOg7o,13984
93
- doctr/models/detection/linknet/tensorflow.py,sha256=HwCswDBFmvXIiNf79pv9J3eucS1zOu79PX0BLRjiBRU,13101
96
+ doctr/models/detection/linknet/base.py,sha256=du9e6g2gVJ-sW01L9ZEuTtqDQIhe2Xi7dw0-x8pXW8A,10441
97
+ doctr/models/detection/linknet/pytorch.py,sha256=L1muh4bzqHHkK8be4OUg4jtk-UBbh21vrBT-CEzEA7Y,14370
98
+ doctr/models/detection/linknet/tensorflow.py,sha256=OlxPBa5shBMl9jrcPV9HkpannODKAqs1L7-ylLEYz6Y,13475
94
99
  doctr/models/detection/predictor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
95
100
  doctr/models/detection/predictor/pytorch.py,sha256=6ODigirC6bWd7x06De8Fp3oP5P-B2FjgaatLJP1-95k,2642
96
101
  doctr/models/detection/predictor/tensorflow.py,sha256=KUDXbODUCZ5gRq8Gm5ZOXvdt9FD__WBkXT4d0f9flOI,2401
97
102
  doctr/models/factory/__init__.py,sha256=cKPoH2V2157lLMTR2zsljG3_IQHziodqR-XK_LG0D_I,19
98
- doctr/models/factory/hub.py,sha256=A6LNNIQoe4QdyFwdEzKhghJZ--ICGOSA6wUTbxmDzWc,7401
103
+ doctr/models/factory/hub.py,sha256=t2cReifLW35gAm-a5aBLvWJRjcxvPZZ5F3vKc-X_760,7324
99
104
  doctr/models/kie_predictor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
100
105
  doctr/models/kie_predictor/base.py,sha256=c8mmLJMLlpnVb5GNDP3hm-oefZ42fbk2dkmKMYVf8Gc,2291
101
- doctr/models/kie_predictor/pytorch.py,sha256=iwfIwsNpQIepgM9_rG5Mx8MeIc1HHl4YJGIkyQ2z6S0,7991
102
- doctr/models/kie_predictor/tensorflow.py,sha256=ejSB5_02uyscER2R6RZsPVNEuYOJHjW9mWu4vMOb15s,7802
106
+ doctr/models/kie_predictor/pytorch.py,sha256=hgb17S5RlZDB1RV9owxdwTW6ob6vop2WgT9ibGR6Gug,7965
107
+ doctr/models/kie_predictor/tensorflow.py,sha256=jbPysKYAgoooI0_hPEGqwEU94DorRJjkrjt4vZv7meA,7776
103
108
  doctr/models/modules/__init__.py,sha256=pouP7obVTu4p6aHkyaqa1yHKbynpvT0Hgo-LO_1U2R4,83
104
109
  doctr/models/modules/layers/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
105
- doctr/models/modules/layers/pytorch.py,sha256=e5o6pS2eqpFbgDsVnHyiB9SLPan72iraqufC6r2yKMY,6805
110
+ doctr/models/modules/layers/pytorch.py,sha256=k0LYL38Y1RtcQyqzqh657TWYEqHfBaO5310maAiwf4A,8631
106
111
  doctr/models/modules/layers/tensorflow.py,sha256=9qDHq-8d833ISuf4mdeJyOsFrRly16B54a0dSWySD34,7105
107
112
  doctr/models/modules/transformer/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
108
113
  doctr/models/modules/transformer/pytorch.py,sha256=yv9W39pjPwuVNXXPV34WACrK5FUyYvcPYHYoKTcdJXg,7718
@@ -112,40 +117,42 @@ doctr/models/modules/vision_transformer/pytorch.py,sha256=Tpl-zdePOXj_uHJvnfsg-I
112
117
  doctr/models/modules/vision_transformer/tensorflow.py,sha256=W9bOfbb510ZXTrDF3nDSKNhHk-Sn8g8LttR1ZVALvwk,4190
113
118
  doctr/models/predictor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
114
119
  doctr/models/predictor/base.py,sha256=YTDOfuoHfFqp_meuK23MiZpyPVE4nROHJ3AH__388Ns,8718
115
- doctr/models/predictor/pytorch.py,sha256=E5gP5fPB7fLW1yVn7ZYGp2XFjTuXH4ZGSnIalVWVCrQ,6523
116
- doctr/models/predictor/tensorflow.py,sha256=gx6NmLJrWNWWp5pT3KOzh-zGLE-ONDo8grGHQdSSRUs,6383
120
+ doctr/models/predictor/pytorch.py,sha256=EjlRDLGnhLL74tJ4zGLyIK1B8Ya1I4mB-VPsaCTy_iI,6497
121
+ doctr/models/predictor/tensorflow.py,sha256=iOgQIo68bNel9jij_WQvNicjajvLPanRAT0fJY3JsgU,6357
117
122
  doctr/models/preprocessor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
118
123
  doctr/models/preprocessor/pytorch.py,sha256=JxTMyoGuhYLuULoT3ZgKg3FYwTcKg0Fz56-PoLNghqk,4955
119
124
  doctr/models/preprocessor/tensorflow.py,sha256=-LX-ke4T7Zh93j8c_V8_fI_NPxsMdWRvkieKZXhTMbQ,4605
120
- doctr/models/recognition/__init__.py,sha256=902nfVyvjOuUGHDKSGZgoS0fKC52J3jcUJQJhIpvOIY,124
125
+ doctr/models/recognition/__init__.py,sha256=bgAvbwjO14Z2RQFD2XKZcSYJNsyxPa96SGHmX_nqbAQ,145
121
126
  doctr/models/recognition/core.py,sha256=VLfNOFc9lx6YOLCOK3f7lRuIS9lMXDSvs6je3FmfaZ0,1524
122
- doctr/models/recognition/utils.py,sha256=X6cG-rB_FaGijPnhw5bB6Git5wjQm2TztbirYdy71FU,3486
123
- doctr/models/recognition/zoo.py,sha256=nqJdHNNibb0ThywDSwXM5nACpy54k6zke_st0JJ-gxA,3063
127
+ doctr/models/recognition/utils.py,sha256=W5zwcv7bIjg_Mr-cH_x6JBe9brCBQvUB1IZNFiN6T-Y,3739
128
+ doctr/models/recognition/zoo.py,sha256=ZH-BVo84hYFIkiTPD2ASZNQ6dj5D23R6kC-sNGfpaMU,3245
124
129
  doctr/models/recognition/crnn/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
125
- doctr/models/recognition/crnn/pytorch.py,sha256=yiexQ6sB6ZkYDHZ3LjI-Of7x48dOr6g2y37L_BmC9X4,11867
126
- doctr/models/recognition/crnn/tensorflow.py,sha256=wU2SAWNpQkVHvV8Hg_wzDsCZgbjAQXELWtX35KtuUJE,11696
130
+ doctr/models/recognition/crnn/pytorch.py,sha256=0fds8IcWV8NLqgvTpFLfSyQv1Zk81EFo3BAk2Hzb7W8,12253
131
+ doctr/models/recognition/crnn/tensorflow.py,sha256=GJxcd9fkBxvlnYYDyehoP7DJwRszhSOLt6T6k2RXLts,12082
127
132
  doctr/models/recognition/master/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
128
133
  doctr/models/recognition/master/base.py,sha256=SFo8AyoSC8sCkelPiVXB6dBVcdAmZVObCzzel0_RXM4,1471
129
- doctr/models/recognition/master/pytorch.py,sha256=SXjxnVHpB8DtyjT_Se2OaHpowLhIk_PSrRjXLV4Wneo,12467
130
- doctr/models/recognition/master/tensorflow.py,sha256=QWYij6WEhScyrFWOM94_DUD3CeDrwg92NIrZPnDPTNQ,12207
134
+ doctr/models/recognition/master/pytorch.py,sha256=hp_oCVrsDGvaryXp2qzJJkHijI2phPeKIRmJ6qYud7c,12853
135
+ doctr/models/recognition/master/tensorflow.py,sha256=zI3WqlAmHuT_AmYiJrHiT-w_zHGskDvleyKcfuI5978,12571
131
136
  doctr/models/recognition/parseq/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
132
137
  doctr/models/recognition/parseq/base.py,sha256=C-J0mm1kWmiVH3X_A1GZizmtqzVYzkFb8Z2bb9e5uww,1465
133
- doctr/models/recognition/parseq/pytorch.py,sha256=LMxnMyj-GelztL4ZGxC_89NMi3T8PfLGNWaMw6oq2Qc,20165
134
- doctr/models/recognition/parseq/tensorflow.py,sha256=zvfCRs_Ga0NaE9IJgpPQ8nL-jrNrlpLIkPEJUCth7jY,21701
138
+ doctr/models/recognition/parseq/pytorch.py,sha256=o7XsE-RSzFffLXiZHzryU5KmZQyUM11dr6hkx8rstgU,20929
139
+ doctr/models/recognition/parseq/tensorflow.py,sha256=vhLHbTV3L3_wWZzRC289L2_ybQKz6mPWWeWf7hO1Mqk,22139
135
140
  doctr/models/recognition/predictor/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
136
- doctr/models/recognition/predictor/_utils.py,sha256=sFwFCU9q1cpnDQwm-jilAQYd_MOd2zErhrxemZ-2qm4,3312
137
- doctr/models/recognition/predictor/pytorch.py,sha256=MD0oHLrvbsCZrIS_t2s76aTVJczjfntnwKaU1-xWqws,2803
138
- doctr/models/recognition/predictor/tensorflow.py,sha256=-4qjw0JA3JuMfvOhlSjEFh6uQcvqSxwOrGxhpmNk1rQ,2514
141
+ doctr/models/recognition/predictor/_utils.py,sha256=gtU5ejnlEs_lf5O2iw3-VNTnAovZejBYdDDFdcbTEB4,5165
142
+ doctr/models/recognition/predictor/pytorch.py,sha256=4ZhNU1nZIZ32umhrLCT702GCH2BUxc41MS5F5oa8Jkg,2818
143
+ doctr/models/recognition/predictor/tensorflow.py,sha256=hLUuV8NTok09KLujcu4Gt52mr8HVp1vsmYaZ1tt569Q,2529
139
144
  doctr/models/recognition/sar/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
140
- doctr/models/recognition/sar/pytorch.py,sha256=y80zMlHILM45lxc70HkdJc70ER4l30EJw3L0OPtb1ao,15319
141
- doctr/models/recognition/sar/tensorflow.py,sha256=YCiiAO5tlEY2AnUA9IFXJiBYrUns8ZrUfSdmsRnvzno,15145
145
+ doctr/models/recognition/sar/pytorch.py,sha256=tHxhiONIXz0UyLCk1MwfGfurv1927u99Rs0sJWiNdpY,15705
146
+ doctr/models/recognition/sar/tensorflow.py,sha256=8govEbMiHcDnDJ8bYBdrdkeYJgnCtJI-jopNwPenRGo,15509
147
+ doctr/models/recognition/viptr/__init__.py,sha256=JfDnVbsjJswkAUumOj3X1ScdmLOcB_BLiLlFcIyZBb8,101
148
+ doctr/models/recognition/viptr/pytorch.py,sha256=JBU0HnzIOK1o_eWE3wPJfcqdfvIqk1l-PrhyALenH8Y,9394
142
149
  doctr/models/recognition/vitstr/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
143
150
  doctr/models/recognition/vitstr/base.py,sha256=5ZjYF0WPgH5sSSaoHeoiw4Os2IZey-souszvkYKgzV8,1419
144
- doctr/models/recognition/vitstr/pytorch.py,sha256=mwgfQZ-XjI8o6_koZnit7p7nt9iMnBBqrRYCfJByDzM,9760
145
- doctr/models/recognition/vitstr/tensorflow.py,sha256=BsXiQPHHpIR7mqJkvzfaoTIWv9SbtaDP01q7Fs8OA3M,9788
151
+ doctr/models/recognition/vitstr/pytorch.py,sha256=tMWh99yAe-Jw80YmRnAaRmPhF3_2zEm0na5czhjhATM,10146
152
+ doctr/models/recognition/vitstr/tensorflow.py,sha256=7m12gB7tNn2YoBQdJL7FY5zCRI3x5H5pML8l1ZdAKu4,10152
146
153
  doctr/models/utils/__init__.py,sha256=CijDtIRsWiCPpUJmDrJGhkA-RAoEUds7eDCuCBhkJnI,200
147
- doctr/models/utils/pytorch.py,sha256=ClXBs05UdCdHGbiBKmArmRtha5rs6p36xOV_ZWw5yrU,5488
148
- doctr/models/utils/tensorflow.py,sha256=QKWDaQVg2uNKkx2Z2A3nht908KunRBqcMZ14S2oxa0c,6357
154
+ doctr/models/utils/pytorch.py,sha256=BE7jsCcojLLnxhvp2yjcUkxH3vkZc6O6ve6kdqxKC64,5756
155
+ doctr/models/utils/tensorflow.py,sha256=Fcx8xmvV6FU0798DR-L6eU2kd3MenTc37xhx_Lo7n_Y,6511
149
156
  doctr/transforms/__init__.py,sha256=0VHbvUZ7llFd1e_7_JdWTaxYMCvaR6KbUJaYJequmQI,23
150
157
  doctr/transforms/functional/__init__.py,sha256=JEQlG6MD2UQJ9I5Mtqa8ffKbySiE7A7jigFjJ705URA,172
151
158
  doctr/transforms/functional/base.py,sha256=K3taCHB1WGIWJ1FE47VPONZFPr2iAU1wgy6S8fRuODA,6842
@@ -157,17 +164,17 @@ doctr/transforms/modules/pytorch.py,sha256=E_L3DhrMKEUlxhB3KTty6fxs0pGtlRXO0EtWe
157
164
  doctr/transforms/modules/tensorflow.py,sha256=btfrSJSu6CC7zpbceITU8T2Nsi3Zdpva5MtRx9Dl02I,20252
158
165
  doctr/utils/__init__.py,sha256=uQY9ibZ24V896fmihIsK23QOIZdKtk0HyKoCVJ_lLuM,95
159
166
  doctr/utils/common_types.py,sha256=ebBlz_61A2gUp_CD2R_8o1pJ5CpCSJimJWzAyGas1uQ,534
160
- doctr/utils/data.py,sha256=7vY2yr7XvXvlzNMfI2ERqobRJZsXABhLmlQbQQUW1L0,4188
167
+ doctr/utils/data.py,sha256=2yv95B2t9b5Hd-SGgEWGqe8ooBrrl-k-kxBd8Ig0SuM,4188
161
168
  doctr/utils/fonts.py,sha256=1vEakG5wfOe-XmsXC63Pi_nox6XZaoHcDsJPjafGo-Q,1265
162
- doctr/utils/geometry.py,sha256=5rTRHKprLuGnKeWdn2b9lzcu6AoVtGw0JINqHRH1vEU,19175
169
+ doctr/utils/geometry.py,sha256=J0yI0jpjQMTsnJXeBPLLsHPFn17vI-IQ0id6OBMS71o,19149
163
170
  doctr/utils/metrics.py,sha256=u2d9nz5NY3gHKpmj5DlcK9OjMlB6zwoZrr-vxVntvp4,20249
164
171
  doctr/utils/multithreading.py,sha256=FinxQSGRpMs6WL8paixeOGd5CNAkG2VYqC-5d1izYBE,1972
165
172
  doctr/utils/reconstitution.py,sha256=mWEGVPhtxnVDKbUDr8E1tad4HaGISGC3DenJvm8I0uM,7256
166
173
  doctr/utils/repr.py,sha256=zw4vLHFIqpTGqsEFosGLkM7aLAjy6RLu_yUz5SyI_YA,2087
167
174
  doctr/utils/visualization.py,sha256=ywnhKjZ3RsIKHrxGiAu-O8FYn2xPLNNU3CxOe8psz0A,13092
168
- python_doctr-0.11.0.dist-info/LICENSE,sha256=75RTSsXOsAYhGpxsHc9U41ep6GS7vrUPufeekgoeOXM,11336
169
- python_doctr-0.11.0.dist-info/METADATA,sha256=gb5X7HqbCN5mbUmJHN8gyz859xLAjRgZwUGEAZ2g4kY,33941
170
- python_doctr-0.11.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
171
- python_doctr-0.11.0.dist-info/top_level.txt,sha256=lCgp4pmjPI3HYph62XhfzA3jRwM715kGtJPmqIUJ9t8,6
172
- python_doctr-0.11.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
173
- python_doctr-0.11.0.dist-info/RECORD,,
175
+ python_doctr-0.12.0.dist-info/licenses/LICENSE,sha256=75RTSsXOsAYhGpxsHc9U41ep6GS7vrUPufeekgoeOXM,11336
176
+ python_doctr-0.12.0.dist-info/METADATA,sha256=MPCFhI6Uw4y_4Rc_XlRmL4onTXaZW9bDWH5Sr0a3wkg,34779
177
+ python_doctr-0.12.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
178
+ python_doctr-0.12.0.dist-info/top_level.txt,sha256=lCgp4pmjPI3HYph62XhfzA3jRwM715kGtJPmqIUJ9t8,6
179
+ python_doctr-0.12.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
180
+ python_doctr-0.12.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5