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.
- doctr/datasets/__init__.py +1 -0
- doctr/datasets/coco_text.py +139 -0
- doctr/datasets/cord.py +2 -1
- doctr/datasets/funsd.py +2 -2
- doctr/datasets/ic03.py +1 -1
- doctr/datasets/ic13.py +2 -1
- doctr/datasets/iiit5k.py +4 -1
- doctr/datasets/imgur5k.py +9 -2
- doctr/datasets/loader.py +1 -1
- doctr/datasets/ocr.py +1 -1
- doctr/datasets/recognition.py +1 -1
- doctr/datasets/svhn.py +1 -1
- doctr/datasets/svt.py +2 -2
- doctr/datasets/synthtext.py +15 -2
- doctr/datasets/utils.py +7 -6
- doctr/datasets/vocabs.py +1102 -54
- doctr/file_utils.py +9 -0
- doctr/io/elements.py +37 -3
- doctr/models/_utils.py +1 -1
- doctr/models/classification/__init__.py +1 -0
- doctr/models/classification/magc_resnet/pytorch.py +1 -2
- doctr/models/classification/magc_resnet/tensorflow.py +3 -3
- doctr/models/classification/mobilenet/pytorch.py +15 -1
- doctr/models/classification/mobilenet/tensorflow.py +11 -2
- doctr/models/classification/predictor/pytorch.py +1 -1
- doctr/models/classification/resnet/pytorch.py +26 -3
- doctr/models/classification/resnet/tensorflow.py +25 -4
- doctr/models/classification/textnet/pytorch.py +10 -1
- doctr/models/classification/textnet/tensorflow.py +11 -2
- doctr/models/classification/vgg/pytorch.py +16 -1
- doctr/models/classification/vgg/tensorflow.py +11 -2
- doctr/models/classification/vip/__init__.py +4 -0
- doctr/models/classification/vip/layers/__init__.py +4 -0
- doctr/models/classification/vip/layers/pytorch.py +615 -0
- doctr/models/classification/vip/pytorch.py +505 -0
- doctr/models/classification/vit/pytorch.py +10 -1
- doctr/models/classification/vit/tensorflow.py +9 -0
- doctr/models/classification/zoo.py +4 -0
- doctr/models/detection/differentiable_binarization/base.py +3 -4
- doctr/models/detection/differentiable_binarization/pytorch.py +10 -1
- doctr/models/detection/differentiable_binarization/tensorflow.py +11 -4
- doctr/models/detection/fast/base.py +2 -3
- doctr/models/detection/fast/pytorch.py +13 -4
- doctr/models/detection/fast/tensorflow.py +10 -2
- doctr/models/detection/linknet/base.py +2 -3
- doctr/models/detection/linknet/pytorch.py +10 -1
- doctr/models/detection/linknet/tensorflow.py +10 -2
- doctr/models/factory/hub.py +3 -3
- doctr/models/kie_predictor/pytorch.py +1 -1
- doctr/models/kie_predictor/tensorflow.py +1 -1
- doctr/models/modules/layers/pytorch.py +49 -1
- doctr/models/predictor/pytorch.py +1 -1
- doctr/models/predictor/tensorflow.py +1 -1
- doctr/models/recognition/__init__.py +1 -0
- doctr/models/recognition/crnn/pytorch.py +10 -1
- doctr/models/recognition/crnn/tensorflow.py +10 -1
- doctr/models/recognition/master/pytorch.py +10 -1
- doctr/models/recognition/master/tensorflow.py +10 -3
- doctr/models/recognition/parseq/pytorch.py +23 -5
- doctr/models/recognition/parseq/tensorflow.py +13 -5
- doctr/models/recognition/predictor/_utils.py +107 -45
- doctr/models/recognition/predictor/pytorch.py +3 -3
- doctr/models/recognition/predictor/tensorflow.py +3 -3
- doctr/models/recognition/sar/pytorch.py +10 -1
- doctr/models/recognition/sar/tensorflow.py +10 -3
- doctr/models/recognition/utils.py +56 -47
- doctr/models/recognition/viptr/__init__.py +4 -0
- doctr/models/recognition/viptr/pytorch.py +277 -0
- doctr/models/recognition/vitstr/pytorch.py +10 -1
- doctr/models/recognition/vitstr/tensorflow.py +10 -3
- doctr/models/recognition/zoo.py +5 -0
- doctr/models/utils/pytorch.py +28 -18
- doctr/models/utils/tensorflow.py +15 -8
- doctr/utils/data.py +1 -1
- doctr/utils/geometry.py +1 -1
- doctr/version.py +1 -1
- {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/METADATA +19 -3
- {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/RECORD +82 -75
- {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/WHEEL +1 -1
- {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info/licenses}/LICENSE +0 -0
- {python_doctr-0.11.0.dist-info → python_doctr-0.12.0.dist-info}/top_level.txt +0 -0
- {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
|
|
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)
|
|
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.
|
|
1
|
+
__version__ = 'v0.12.0'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: python-doctr
|
|
3
|
-
Version: 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
|
-
[](https://slack.mindee.com) [](LICENSE)  [](https://github.com/mindee/doctr/pkgs/container/doctr) [](https://codecov.io/gh/mindee/doctr) [](https://www.codefactor.io/repository/github/mindee/doctr) [](https://app.codacy.com/gh/mindee/doctr?utm_source=github.com&utm_medium=referral&utm_content=mindee/doctr&utm_campaign=Badge_Grade) [](https://mindee.github.io/doctr) [](https://slack.mindee.com) [](LICENSE)  [](https://github.com/mindee/doctr/pkgs/container/doctr) [](https://codecov.io/gh/mindee/doctr) [](https://www.codefactor.io/repository/github/mindee/doctr) [](https://app.codacy.com/gh/mindee/doctr?utm_source=github.com&utm_medium=referral&utm_content=mindee/doctr&utm_campaign=Badge_Grade) [](https://mindee.github.io/doctr) [](https://pypi.org/project/python-doctr/) [](https://huggingface.co/spaces/mindee/doctr) [](https://colab.research.google.com/github/mindee/notebooks/blob/main/doctr/quicktour.ipynb) [](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=
|
|
2
|
+
doctr/file_utils.py,sha256=hTCXBEW1hOMPyv3zKw1RCmXGH1ewMJcKQZX1A-7ecfk,4548
|
|
3
3
|
doctr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
doctr/version.py,sha256=
|
|
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=
|
|
9
|
-
doctr/datasets/
|
|
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
|
|
13
|
-
doctr/datasets/ic03.py,sha256=
|
|
14
|
-
doctr/datasets/ic13.py,sha256=
|
|
15
|
-
doctr/datasets/iiit5k.py,sha256=
|
|
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=
|
|
18
|
-
doctr/datasets/loader.py,sha256=
|
|
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=
|
|
21
|
+
doctr/datasets/ocr.py,sha256=ON447DE1kvXLYwVgTtJ1vNnYo_Rf2drBxShPfhnJ7EY,2523
|
|
21
22
|
doctr/datasets/orientation.py,sha256=HaF2dKyK7kDUFluY5B2mBtxw8nyO9UNOsbP1dDrD8Lk,1091
|
|
22
|
-
doctr/datasets/recognition.py,sha256=
|
|
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=
|
|
25
|
-
doctr/datasets/svt.py,sha256=
|
|
26
|
-
doctr/datasets/synthtext.py,sha256=
|
|
27
|
-
doctr/datasets/utils.py,sha256=
|
|
28
|
-
doctr/datasets/vocabs.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
53
|
-
doctr/models/classification/zoo.py,sha256=
|
|
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=
|
|
56
|
-
doctr/models/classification/magc_resnet/tensorflow.py,sha256=
|
|
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=
|
|
59
|
-
doctr/models/classification/mobilenet/tensorflow.py,sha256=
|
|
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=
|
|
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=
|
|
65
|
-
doctr/models/classification/resnet/tensorflow.py,sha256=
|
|
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=
|
|
68
|
-
doctr/models/classification/textnet/tensorflow.py,sha256
|
|
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=
|
|
71
|
-
doctr/models/classification/vgg/tensorflow.py,sha256=
|
|
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=
|
|
74
|
-
doctr/models/classification/vit/tensorflow.py,sha256=
|
|
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=
|
|
84
|
-
doctr/models/detection/differentiable_binarization/pytorch.py,sha256=
|
|
85
|
-
doctr/models/detection/differentiable_binarization/tensorflow.py,sha256=
|
|
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=
|
|
88
|
-
doctr/models/detection/fast/pytorch.py,sha256=
|
|
89
|
-
doctr/models/detection/fast/tensorflow.py,sha256=
|
|
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=
|
|
92
|
-
doctr/models/detection/linknet/pytorch.py,sha256=
|
|
93
|
-
doctr/models/detection/linknet/tensorflow.py,sha256=
|
|
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=
|
|
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=
|
|
102
|
-
doctr/models/kie_predictor/tensorflow.py,sha256=
|
|
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=
|
|
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=
|
|
116
|
-
doctr/models/predictor/tensorflow.py,sha256=
|
|
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=
|
|
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=
|
|
123
|
-
doctr/models/recognition/zoo.py,sha256=
|
|
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=
|
|
126
|
-
doctr/models/recognition/crnn/tensorflow.py,sha256=
|
|
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=
|
|
130
|
-
doctr/models/recognition/master/tensorflow.py,sha256=
|
|
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=
|
|
134
|
-
doctr/models/recognition/parseq/tensorflow.py,sha256=
|
|
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=
|
|
137
|
-
doctr/models/recognition/predictor/pytorch.py,sha256=
|
|
138
|
-
doctr/models/recognition/predictor/tensorflow.py,sha256
|
|
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=
|
|
141
|
-
doctr/models/recognition/sar/tensorflow.py,sha256=
|
|
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=
|
|
145
|
-
doctr/models/recognition/vitstr/tensorflow.py,sha256=
|
|
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=
|
|
148
|
-
doctr/models/utils/tensorflow.py,sha256=
|
|
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=
|
|
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=
|
|
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.
|
|
169
|
-
python_doctr-0.
|
|
170
|
-
python_doctr-0.
|
|
171
|
-
python_doctr-0.
|
|
172
|
-
python_doctr-0.
|
|
173
|
-
python_doctr-0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|