python-doctr 0.8.0__py3-none-any.whl → 0.9.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/__init__.py +1 -1
- doctr/contrib/__init__.py +0 -0
- doctr/contrib/artefacts.py +131 -0
- doctr/contrib/base.py +105 -0
- doctr/datasets/datasets/pytorch.py +2 -2
- doctr/datasets/generator/base.py +6 -5
- doctr/datasets/imgur5k.py +1 -1
- doctr/datasets/loader.py +1 -6
- doctr/datasets/utils.py +2 -1
- doctr/datasets/vocabs.py +9 -2
- doctr/file_utils.py +26 -12
- doctr/io/elements.py +40 -6
- doctr/io/html.py +2 -2
- doctr/io/image/pytorch.py +6 -8
- doctr/io/image/tensorflow.py +1 -1
- doctr/io/pdf.py +5 -2
- doctr/io/reader.py +6 -0
- doctr/models/__init__.py +0 -1
- doctr/models/_utils.py +57 -20
- doctr/models/builder.py +71 -13
- doctr/models/classification/mobilenet/pytorch.py +45 -9
- doctr/models/classification/mobilenet/tensorflow.py +38 -7
- doctr/models/classification/predictor/pytorch.py +18 -11
- doctr/models/classification/predictor/tensorflow.py +16 -10
- doctr/models/classification/textnet/pytorch.py +3 -3
- doctr/models/classification/textnet/tensorflow.py +3 -3
- doctr/models/classification/zoo.py +39 -15
- doctr/models/detection/__init__.py +1 -0
- doctr/models/detection/_utils/__init__.py +1 -0
- doctr/models/detection/_utils/base.py +66 -0
- doctr/models/detection/differentiable_binarization/base.py +4 -3
- doctr/models/detection/differentiable_binarization/pytorch.py +2 -2
- doctr/models/detection/differentiable_binarization/tensorflow.py +14 -18
- doctr/models/detection/fast/__init__.py +6 -0
- doctr/models/detection/fast/base.py +257 -0
- doctr/models/detection/fast/pytorch.py +442 -0
- doctr/models/detection/fast/tensorflow.py +428 -0
- doctr/models/detection/linknet/base.py +4 -3
- doctr/models/detection/predictor/pytorch.py +15 -1
- doctr/models/detection/predictor/tensorflow.py +15 -1
- doctr/models/detection/zoo.py +21 -4
- doctr/models/factory/hub.py +3 -12
- doctr/models/kie_predictor/base.py +9 -3
- doctr/models/kie_predictor/pytorch.py +41 -20
- doctr/models/kie_predictor/tensorflow.py +36 -16
- doctr/models/modules/layers/pytorch.py +89 -10
- doctr/models/modules/layers/tensorflow.py +88 -10
- doctr/models/modules/transformer/pytorch.py +2 -2
- doctr/models/predictor/base.py +77 -50
- doctr/models/predictor/pytorch.py +31 -20
- doctr/models/predictor/tensorflow.py +27 -17
- doctr/models/preprocessor/pytorch.py +4 -4
- doctr/models/preprocessor/tensorflow.py +3 -2
- doctr/models/recognition/master/pytorch.py +2 -2
- doctr/models/recognition/parseq/pytorch.py +4 -3
- doctr/models/recognition/parseq/tensorflow.py +4 -3
- doctr/models/recognition/sar/pytorch.py +7 -6
- doctr/models/recognition/sar/tensorflow.py +3 -9
- doctr/models/recognition/vitstr/pytorch.py +1 -1
- doctr/models/recognition/zoo.py +1 -1
- doctr/models/zoo.py +2 -2
- doctr/py.typed +0 -0
- doctr/transforms/functional/base.py +1 -1
- doctr/transforms/functional/pytorch.py +4 -4
- doctr/transforms/modules/base.py +37 -15
- doctr/transforms/modules/pytorch.py +66 -8
- doctr/transforms/modules/tensorflow.py +63 -7
- doctr/utils/fonts.py +7 -5
- doctr/utils/geometry.py +35 -12
- doctr/utils/metrics.py +33 -174
- doctr/utils/reconstitution.py +126 -0
- doctr/utils/visualization.py +5 -118
- doctr/version.py +1 -1
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/METADATA +96 -91
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/RECORD +79 -75
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/WHEEL +1 -1
- doctr/models/artefacts/__init__.py +0 -2
- doctr/models/artefacts/barcode.py +0 -74
- doctr/models/artefacts/face.py +0 -63
- doctr/models/obj_detection/__init__.py +0 -1
- doctr/models/obj_detection/faster_rcnn/__init__.py +0 -4
- doctr/models/obj_detection/faster_rcnn/pytorch.py +0 -81
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/LICENSE +0 -0
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/top_level.txt +0 -0
- {python_doctr-0.8.0.dist-info → python_doctr-0.9.0.dist-info}/zip-safe +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-doctr
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.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
|
|
@@ -209,7 +209,7 @@ License: Apache License
|
|
|
209
209
|
Project-URL: documentation, https://mindee.github.io/doctr
|
|
210
210
|
Project-URL: repository, https://github.com/mindee/doctr
|
|
211
211
|
Project-URL: tracker, https://github.com/mindee/doctr/issues
|
|
212
|
-
Project-URL: changelog, https://github.
|
|
212
|
+
Project-URL: changelog, https://mindee.github.io/doctr/changelog.html
|
|
213
213
|
Keywords: OCR,deep learning,computer vision,tensorflow,pytorch,text detection,text recognition
|
|
214
214
|
Classifier: Development Status :: 4 - Beta
|
|
215
215
|
Classifier: Intended Audience :: Developers
|
|
@@ -219,87 +219,93 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
219
219
|
Classifier: Natural Language :: English
|
|
220
220
|
Classifier: Operating System :: OS Independent
|
|
221
221
|
Classifier: Programming Language :: Python :: 3
|
|
222
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
223
222
|
Classifier: Programming Language :: Python :: 3.9
|
|
224
223
|
Classifier: Programming Language :: Python :: 3.10
|
|
224
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
225
225
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
226
|
-
Requires-Python: <4,>=3.
|
|
226
|
+
Requires-Python: <4,>=3.9.0
|
|
227
227
|
Description-Content-Type: text/markdown
|
|
228
228
|
License-File: LICENSE
|
|
229
|
-
Requires-Dist:
|
|
230
|
-
Requires-Dist:
|
|
231
|
-
Requires-Dist:
|
|
232
|
-
Requires-Dist:
|
|
233
|
-
Requires-Dist:
|
|
234
|
-
Requires-Dist:
|
|
235
|
-
Requires-Dist:
|
|
236
|
-
Requires-Dist:
|
|
237
|
-
Requires-Dist:
|
|
238
|
-
Requires-Dist:
|
|
239
|
-
Requires-Dist:
|
|
240
|
-
Requires-Dist:
|
|
241
|
-
Requires-Dist:
|
|
242
|
-
Requires-Dist:
|
|
243
|
-
|
|
244
|
-
Requires-Dist:
|
|
245
|
-
Requires-Dist: unidecode >=1.0.0
|
|
246
|
-
Requires-Dist: tqdm >=4.30.0
|
|
229
|
+
Requires-Dist: numpy<2.0.0,>=1.16.0
|
|
230
|
+
Requires-Dist: scipy<2.0.0,>=1.4.0
|
|
231
|
+
Requires-Dist: h5py<4.0.0,>=3.1.0
|
|
232
|
+
Requires-Dist: opencv-python<5.0.0,>=4.5.0
|
|
233
|
+
Requires-Dist: pypdfium2<5.0.0,>=4.11.0
|
|
234
|
+
Requires-Dist: pyclipper<2.0.0,>=1.2.0
|
|
235
|
+
Requires-Dist: shapely<3.0.0,>=1.6.0
|
|
236
|
+
Requires-Dist: langdetect<2.0.0,>=1.0.9
|
|
237
|
+
Requires-Dist: rapidfuzz<4.0.0,>=3.0.0
|
|
238
|
+
Requires-Dist: huggingface-hub<1.0.0,>=0.20.0
|
|
239
|
+
Requires-Dist: Pillow>=9.2.0
|
|
240
|
+
Requires-Dist: defusedxml>=0.7.0
|
|
241
|
+
Requires-Dist: anyascii>=0.3.2
|
|
242
|
+
Requires-Dist: tqdm>=4.30.0
|
|
243
|
+
Provides-Extra: contrib
|
|
244
|
+
Requires-Dist: onnxruntime>=1.11.0; extra == "contrib"
|
|
247
245
|
Provides-Extra: dev
|
|
248
|
-
Requires-Dist: tensorflow
|
|
249
|
-
Requires-Dist: tf2onnx
|
|
250
|
-
Requires-Dist: torch
|
|
251
|
-
Requires-Dist: torchvision
|
|
252
|
-
Requires-Dist: onnx
|
|
253
|
-
Requires-Dist:
|
|
254
|
-
Requires-Dist:
|
|
255
|
-
Requires-Dist:
|
|
256
|
-
Requires-Dist:
|
|
257
|
-
Requires-Dist:
|
|
258
|
-
Requires-Dist:
|
|
259
|
-
Requires-Dist:
|
|
260
|
-
Requires-Dist:
|
|
261
|
-
Requires-Dist:
|
|
262
|
-
Requires-Dist:
|
|
263
|
-
Requires-Dist:
|
|
264
|
-
Requires-Dist:
|
|
265
|
-
Requires-Dist:
|
|
266
|
-
Requires-Dist:
|
|
267
|
-
Requires-Dist: sphinx-
|
|
268
|
-
Requires-Dist:
|
|
269
|
-
Requires-Dist:
|
|
246
|
+
Requires-Dist: tensorflow<2.16.0,>=2.11.0; extra == "dev"
|
|
247
|
+
Requires-Dist: tf2onnx<2.0.0,>=1.16.0; extra == "dev"
|
|
248
|
+
Requires-Dist: torch<3.0.0,>=1.12.0; extra == "dev"
|
|
249
|
+
Requires-Dist: torchvision>=0.13.0; extra == "dev"
|
|
250
|
+
Requires-Dist: onnx<3.0.0,>=1.12.0; extra == "dev"
|
|
251
|
+
Requires-Dist: weasyprint>=55.0; extra == "dev"
|
|
252
|
+
Requires-Dist: matplotlib>=3.1.0; extra == "dev"
|
|
253
|
+
Requires-Dist: mplcursors>=0.3; extra == "dev"
|
|
254
|
+
Requires-Dist: pytest>=5.3.2; extra == "dev"
|
|
255
|
+
Requires-Dist: coverage[toml]>=4.5.4; extra == "dev"
|
|
256
|
+
Requires-Dist: hdf5storage>=0.1.18; extra == "dev"
|
|
257
|
+
Requires-Dist: onnxruntime>=1.11.0; extra == "dev"
|
|
258
|
+
Requires-Dist: requests>=2.20.0; extra == "dev"
|
|
259
|
+
Requires-Dist: psutil>=5.9.5; extra == "dev"
|
|
260
|
+
Requires-Dist: ruff>=0.3.0; extra == "dev"
|
|
261
|
+
Requires-Dist: mypy>=1.0; extra == "dev"
|
|
262
|
+
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
|
|
263
|
+
Requires-Dist: sphinx!=3.5.0,>=3.0.0; extra == "dev"
|
|
264
|
+
Requires-Dist: sphinxemoji>=0.1.8; extra == "dev"
|
|
265
|
+
Requires-Dist: sphinx-copybutton>=0.3.1; extra == "dev"
|
|
266
|
+
Requires-Dist: docutils<0.22; extra == "dev"
|
|
267
|
+
Requires-Dist: recommonmark>=0.7.1; extra == "dev"
|
|
268
|
+
Requires-Dist: sphinx-markdown-tables>=0.0.15; extra == "dev"
|
|
269
|
+
Requires-Dist: sphinx-tabs>=3.3.0; extra == "dev"
|
|
270
|
+
Requires-Dist: furo>=2022.3.4; extra == "dev"
|
|
270
271
|
Provides-Extra: docs
|
|
271
|
-
Requires-Dist: sphinx
|
|
272
|
-
Requires-Dist: sphinxemoji
|
|
273
|
-
Requires-Dist: sphinx-copybutton
|
|
274
|
-
Requires-Dist: docutils
|
|
275
|
-
Requires-Dist: recommonmark
|
|
276
|
-
Requires-Dist: sphinx-markdown-tables
|
|
277
|
-
Requires-Dist: sphinx-tabs
|
|
278
|
-
Requires-Dist: furo
|
|
272
|
+
Requires-Dist: sphinx!=3.5.0,>=3.0.0; extra == "docs"
|
|
273
|
+
Requires-Dist: sphinxemoji>=0.1.8; extra == "docs"
|
|
274
|
+
Requires-Dist: sphinx-copybutton>=0.3.1; extra == "docs"
|
|
275
|
+
Requires-Dist: docutils<0.22; extra == "docs"
|
|
276
|
+
Requires-Dist: recommonmark>=0.7.1; extra == "docs"
|
|
277
|
+
Requires-Dist: sphinx-markdown-tables>=0.0.15; extra == "docs"
|
|
278
|
+
Requires-Dist: sphinx-tabs>=3.3.0; extra == "docs"
|
|
279
|
+
Requires-Dist: furo>=2022.3.4; extra == "docs"
|
|
280
|
+
Provides-Extra: html
|
|
281
|
+
Requires-Dist: weasyprint>=55.0; extra == "html"
|
|
279
282
|
Provides-Extra: quality
|
|
280
|
-
Requires-Dist: ruff
|
|
281
|
-
Requires-Dist: mypy
|
|
282
|
-
Requires-Dist: pre-commit
|
|
283
|
+
Requires-Dist: ruff>=0.1.5; extra == "quality"
|
|
284
|
+
Requires-Dist: mypy>=0.812; extra == "quality"
|
|
285
|
+
Requires-Dist: pre-commit>=2.17.0; extra == "quality"
|
|
283
286
|
Provides-Extra: testing
|
|
284
|
-
Requires-Dist: pytest
|
|
285
|
-
Requires-Dist: coverage[toml]
|
|
286
|
-
Requires-Dist: hdf5storage
|
|
287
|
-
Requires-Dist: onnxruntime
|
|
288
|
-
Requires-Dist: requests
|
|
289
|
-
Requires-Dist: psutil
|
|
287
|
+
Requires-Dist: pytest>=5.3.2; extra == "testing"
|
|
288
|
+
Requires-Dist: coverage[toml]>=4.5.4; extra == "testing"
|
|
289
|
+
Requires-Dist: hdf5storage>=0.1.18; extra == "testing"
|
|
290
|
+
Requires-Dist: onnxruntime>=1.11.0; extra == "testing"
|
|
291
|
+
Requires-Dist: requests>=2.20.0; extra == "testing"
|
|
292
|
+
Requires-Dist: psutil>=5.9.5; extra == "testing"
|
|
290
293
|
Provides-Extra: tf
|
|
291
|
-
Requires-Dist: tensorflow
|
|
292
|
-
Requires-Dist: tf2onnx
|
|
294
|
+
Requires-Dist: tensorflow<2.16.0,>=2.11.0; extra == "tf"
|
|
295
|
+
Requires-Dist: tf2onnx<2.0.0,>=1.16.0; extra == "tf"
|
|
293
296
|
Provides-Extra: torch
|
|
294
|
-
Requires-Dist: torch
|
|
295
|
-
Requires-Dist: torchvision
|
|
296
|
-
Requires-Dist: onnx
|
|
297
|
+
Requires-Dist: torch<3.0.0,>=1.12.0; extra == "torch"
|
|
298
|
+
Requires-Dist: torchvision>=0.13.0; extra == "torch"
|
|
299
|
+
Requires-Dist: onnx<3.0.0,>=1.12.0; extra == "torch"
|
|
300
|
+
Provides-Extra: viz
|
|
301
|
+
Requires-Dist: matplotlib>=3.1.0; extra == "viz"
|
|
302
|
+
Requires-Dist: mplcursors>=0.3; extra == "viz"
|
|
297
303
|
|
|
298
304
|
<p align="center">
|
|
299
|
-
<img src="docs/images/Logo_doctr.gif" width="40%">
|
|
305
|
+
<img src="https://github.com/mindee/doctr/raw/main/docs/images/Logo_doctr.gif" width="40%">
|
|
300
306
|
</p>
|
|
301
307
|
|
|
302
|
-
[](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)
|
|
303
309
|
|
|
304
310
|
|
|
305
311
|
**Optical Character Recognition made seamless & accessible to anyone, powered by TensorFlow 2 & PyTorch**
|
|
@@ -309,7 +315,7 @@ What you can expect from this repository:
|
|
|
309
315
|
- efficient ways to parse textual information (localize and identify each word) from your documents
|
|
310
316
|
- guidance on how to integrate this in your current architecture
|
|
311
317
|
|
|
312
|
-

|
|
318
|
+

|
|
313
319
|
|
|
314
320
|
## Quick Tour
|
|
315
321
|
|
|
@@ -334,7 +340,7 @@ from doctr.io import DocumentFile
|
|
|
334
340
|
pdf_doc = DocumentFile.from_pdf("path/to/your/doc.pdf")
|
|
335
341
|
# Image
|
|
336
342
|
single_img_doc = DocumentFile.from_images("path/to/your/img.jpg")
|
|
337
|
-
# Webpage
|
|
343
|
+
# Webpage (requires `weasyprint` to be installed)
|
|
338
344
|
webpage_doc = DocumentFile.from_url("https://www.yoursite.com")
|
|
339
345
|
# Multiple page images
|
|
340
346
|
multi_img_doc = DocumentFile.from_images(["path/to/page1.jpg", "path/to/page2.jpg"])
|
|
@@ -372,10 +378,11 @@ If both options are set to False, the predictor will always fit and return rotat
|
|
|
372
378
|
To interpret your model's predictions, you can visualize them interactively as follows:
|
|
373
379
|
|
|
374
380
|
```python
|
|
381
|
+
# Display the result (requires matplotlib & mplcursors to be installed)
|
|
375
382
|
result.show()
|
|
376
383
|
```
|
|
377
384
|
|
|
378
|
-

|
|
385
|
+

|
|
379
386
|
|
|
380
387
|
Or even rebuild the original document from its predictions:
|
|
381
388
|
|
|
@@ -386,7 +393,7 @@ synthetic_pages = result.synthesize()
|
|
|
386
393
|
plt.imshow(synthetic_pages[0]); plt.axis('off'); plt.show()
|
|
387
394
|
```
|
|
388
395
|
|
|
389
|
-

|
|
396
|
+

|
|
390
397
|
|
|
391
398
|
The `ocr_predictor` returns a `Document` object with a nested structure (with `Page`, `Block`, `Line`, `Word`, `Artefact`).
|
|
392
399
|
To get a better understanding of our document model, check our [documentation](https://mindee.github.io/doctr/modules/io.html#document-structure):
|
|
@@ -425,23 +432,13 @@ The KIE predictor results per page are in a dictionary format with each key repr
|
|
|
425
432
|
|
|
426
433
|
### If you are looking for support from the Mindee team
|
|
427
434
|
|
|
428
|
-
[](https://mindee.com/product/doctr)
|
|
435
|
+
[](https://mindee.com/product/doctr)
|
|
429
436
|
|
|
430
437
|
## Installation
|
|
431
438
|
|
|
432
439
|
### Prerequisites
|
|
433
440
|
|
|
434
|
-
Python 3.
|
|
435
|
-
|
|
436
|
-
Since we use [weasyprint](https://weasyprint.org/), you will need extra dependencies if you are not running Linux.
|
|
437
|
-
|
|
438
|
-
For MacOS users, you can install them as follows:
|
|
439
|
-
|
|
440
|
-
```shell
|
|
441
|
-
brew install cairo pango gdk-pixbuf libffi
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
For Windows users, those dependencies are included in GTK. You can find the latest installer over [here](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases).
|
|
441
|
+
Python 3.9 (or higher) and [pip](https://pip.pypa.io/en/stable/) are required to install docTR.
|
|
445
442
|
|
|
446
443
|
### Latest release
|
|
447
444
|
|
|
@@ -460,6 +457,8 @@ We try to keep framework-specific dependencies to a minimum. You can install fra
|
|
|
460
457
|
pip install "python-doctr[tf]"
|
|
461
458
|
# for PyTorch
|
|
462
459
|
pip install "python-doctr[torch]"
|
|
460
|
+
# optional dependencies for visualization, html, and contrib modules can be installed as follows:
|
|
461
|
+
pip install "python-doctr[torch,viz,html,contib]"
|
|
463
462
|
```
|
|
464
463
|
|
|
465
464
|
For MacBooks with M1 chip, you will need some additional packages or specific versions:
|
|
@@ -494,6 +493,7 @@ Credits where it's due: this repository is implementing, among others, architect
|
|
|
494
493
|
|
|
495
494
|
- DBNet: [Real-time Scene Text Detection with Differentiable Binarization](https://arxiv.org/pdf/1911.08947.pdf).
|
|
496
495
|
- LinkNet: [LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation](https://arxiv.org/pdf/1707.03718.pdf)
|
|
496
|
+
- FAST: [FAST: Faster Arbitrarily-Shaped Text Detector with Minimalist Kernel Representation](https://arxiv.org/pdf/2111.02394.pdf)
|
|
497
497
|
|
|
498
498
|
### Text Recognition
|
|
499
499
|
|
|
@@ -513,7 +513,7 @@ The full package documentation is available [here](https://mindee.github.io/doct
|
|
|
513
513
|
|
|
514
514
|
A minimal demo app is provided for you to play with our end-to-end OCR models!
|
|
515
515
|
|
|
516
|
-

|
|
516
|
+

|
|
517
517
|
|
|
518
518
|
#### Live demo
|
|
519
519
|
|
|
@@ -553,11 +553,11 @@ USE_TORCH=1 streamlit run demo/app.py
|
|
|
553
553
|
Instead of having your demo actually running Python, you would prefer to run everything in your web browser?
|
|
554
554
|
Check out our [TensorFlow.js demo](https://github.com/mindee/doctr-tfjs-demo) to get started!
|
|
555
555
|
|
|
556
|
-

|
|
556
|
+

|
|
557
557
|
|
|
558
558
|
### Docker container
|
|
559
559
|
|
|
560
|
-
[We
|
|
560
|
+
[We offer Docker container support for easy testing and deployment](https://github.com/mindee/doctr/pkgs/container/doctr).
|
|
561
561
|
|
|
562
562
|
#### Using GPU with docTR Docker Images
|
|
563
563
|
|
|
@@ -646,9 +646,14 @@ Your API should now be running locally on your port 8002. Access your automatica
|
|
|
646
646
|
|
|
647
647
|
```python
|
|
648
648
|
import requests
|
|
649
|
+
|
|
650
|
+
params = {"det_arch": "db_resnet50", "reco_arch": "crnn_vgg16_bn"}
|
|
651
|
+
|
|
649
652
|
with open('/path/to/your/doc.jpg', 'rb') as f:
|
|
650
|
-
|
|
651
|
-
|
|
653
|
+
files = [ # application/pdf, image/jpeg, image/png supported
|
|
654
|
+
("files", ("doc.jpg", f.read(), "image/jpeg")),
|
|
655
|
+
]
|
|
656
|
+
print(requests.post("http://localhost:8080/ocr", params=params, files=files).json())
|
|
652
657
|
```
|
|
653
658
|
|
|
654
659
|
### Example notebooks
|
|
@@ -673,8 +678,8 @@ If you wish to cite this project, feel free to use this [BibTeX](http://www.bibt
|
|
|
673
678
|
|
|
674
679
|
If you scrolled down to this section, you most likely appreciate open source. Do you feel like extending the range of our supported characters? Or perhaps submitting a paper implementation? Or contributing in any other way?
|
|
675
680
|
|
|
676
|
-
You're in luck, we compiled a short guide (cf. [`CONTRIBUTING`](
|
|
681
|
+
You're in luck, we compiled a short guide (cf. [`CONTRIBUTING`](https://mindee.github.io/doctr/contributing/contributing.html)) for you to easily do so!
|
|
677
682
|
|
|
678
683
|
## License
|
|
679
684
|
|
|
680
|
-
Distributed under the Apache 2.0 License. See [`LICENSE`](
|
|
685
|
+
Distributed under the Apache 2.0 License. See [`LICENSE`](https://github.com/mindee/doctr?tab=Apache-2.0-1-ov-file#readme) for more information.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
doctr/__init__.py,sha256=
|
|
2
|
-
doctr/file_utils.py,sha256=
|
|
3
|
-
doctr/
|
|
1
|
+
doctr/__init__.py,sha256=q-1tv1hf-BRaZtxsrbPVxYNL6ZtyIOSDvlZOSt85TmU,170
|
|
2
|
+
doctr/file_utils.py,sha256=3LUSkLXfMsxJgLY_Gah9Qlb7-l-Bxx1y6Wm9hlVXJig,3738
|
|
3
|
+
doctr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
doctr/version.py,sha256=BSHwM5KsOpEVgNNeYRIr89q04Tayoadwt508Blp8nAo,23
|
|
5
|
+
doctr/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
doctr/contrib/artefacts.py,sha256=xXkTkZVMrjalzffeBDOXktRhMn-EmUVEdURpDsV0-h8,5351
|
|
7
|
+
doctr/contrib/base.py,sha256=dKUcKvVMyPFvZp_-IekocFNG3JmCJ1cNt0V8BQ5zdV0,3426
|
|
4
8
|
doctr/datasets/__init__.py,sha256=umI2ABbgWIKuhswl8RGaF6CefFiI8DdEGVb0Kbd8aZA,574
|
|
5
9
|
doctr/datasets/cord.py,sha256=p9ObLgqV3uB7TYoS5Puag0q-JtFTPrXUztkxL36U69U,4746
|
|
6
10
|
doctr/datasets/detection.py,sha256=H6inFO6rjdvU_Asm9UTod5r5bjjpmJJWGityv0RTJ8M,3607
|
|
@@ -10,8 +14,8 @@ doctr/datasets/ic03.py,sha256=2HEHvW9tLYFiSEaPeNM4vrqL3ICjth6LUUXPcHjrHjQ,5066
|
|
|
10
14
|
doctr/datasets/ic13.py,sha256=5qjGMmotEOo_8N2gp0XUdZPW5t2gvVe-cTestlfD6Mc,4010
|
|
11
15
|
doctr/datasets/iiit5k.py,sha256=7y4pv4WG-FdXCn7aXLsUodXnk63gRBR8325HfqqlQ3k,3936
|
|
12
16
|
doctr/datasets/iiithws.py,sha256=MFWgIW5bNJSvxWU-USZvbYVHNlkBsnzzMaSGrbut-zQ,2778
|
|
13
|
-
doctr/datasets/imgur5k.py,sha256=
|
|
14
|
-
doctr/datasets/loader.py,sha256=
|
|
17
|
+
doctr/datasets/imgur5k.py,sha256=CeSh2R_U-1iPTg-DZOgY5L6t4F-fX1WkqiMP0C6jivQ,6679
|
|
18
|
+
doctr/datasets/loader.py,sha256=77ErVBRQsXAhe4pTJstZ-wk4wOZSFdw9w-_OMv89IKg,2803
|
|
15
19
|
doctr/datasets/mjsynth.py,sha256=Sybpaxiib8jDOc33OQgl2gGQ4XX8kKsnZaNokKmt08o,4063
|
|
16
20
|
doctr/datasets/ocr.py,sha256=wSAU62NUdFgt52vxo65bXPsuKeVWArlAkD5kxWKypiM,2550
|
|
17
21
|
doctr/datasets/orientation.py,sha256=PZfSQGfBSqzwRlg84L7BA7Lb2jseBvxkKqzh36TtFXk,1113
|
|
@@ -20,150 +24,150 @@ doctr/datasets/sroie.py,sha256=bAkPLmw9aVSu_MyEix_FKFW0pbYye1w16vIkumnQ4E8,3939
|
|
|
20
24
|
doctr/datasets/svhn.py,sha256=Q4M84eRGWLWQ5Bsw0zvouhHTUQl46B9-pS06ZYKT5j8,5251
|
|
21
25
|
doctr/datasets/svt.py,sha256=eos2IUqeM8AW98zJ4PjHQ-hM0hUiJ-cumFhctQrpZp4,4551
|
|
22
26
|
doctr/datasets/synthtext.py,sha256=Q0WKA_UJtgjdBaHHQ888n6ltT-NBuf5kTYQv5SB40IQ,5387
|
|
23
|
-
doctr/datasets/utils.py,sha256=
|
|
24
|
-
doctr/datasets/vocabs.py,sha256=
|
|
27
|
+
doctr/datasets/utils.py,sha256=xdKi9z0hSvW0TOS_Pb_VJabX_pyCgRmMvRxIZBXpjg8,7584
|
|
28
|
+
doctr/datasets/vocabs.py,sha256=TABYcaDr2ZviJJWaH2-DrZTLaQYUVTsUTAGgFia3c4k,3834
|
|
25
29
|
doctr/datasets/wildreceipt.py,sha256=HvnAaxo9lLwC8UMUYYKKJo6HkG8xm2yIHopBsN5G1LA,4566
|
|
26
30
|
doctr/datasets/datasets/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
27
31
|
doctr/datasets/datasets/base.py,sha256=TUK8GMosZnkTBsJm8zOc7AIy3FUMIV2vOTu3YbTjnSQ,4874
|
|
28
|
-
doctr/datasets/datasets/pytorch.py,sha256=
|
|
32
|
+
doctr/datasets/datasets/pytorch.py,sha256=M75erZOBP_Cg05Vk4D01yQZSyyqEbN0omHch1afe4pY,2039
|
|
29
33
|
doctr/datasets/datasets/tensorflow.py,sha256=Ivx_T6o2ttHXjyUy5wi0LpsmKZYOVb7xL1fHKvRlE80,1975
|
|
30
34
|
doctr/datasets/generator/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
31
|
-
doctr/datasets/generator/base.py,sha256=
|
|
35
|
+
doctr/datasets/generator/base.py,sha256=SpzbEqVYUpPZr5NTgccXtpw_yD37WxJ0Jx4HDwa_EKk,5769
|
|
32
36
|
doctr/datasets/generator/pytorch.py,sha256=HUmdHUm7rU84gXv18BeXdYTDBCHabtw21Xdpm-p02ik,2134
|
|
33
37
|
doctr/datasets/generator/tensorflow.py,sha256=Yj9vgEjdNnOwrM4Ew2w5TfkEwNXgy6ACZuEnExZcUMs,2229
|
|
34
38
|
doctr/io/__init__.py,sha256=kS7tKGFvzxOCWBOun-Y8n9CsziwRKNynjwpZEUUI03M,106
|
|
35
|
-
doctr/io/elements.py,sha256=
|
|
36
|
-
doctr/io/html.py,sha256=
|
|
37
|
-
doctr/io/pdf.py,sha256=
|
|
38
|
-
doctr/io/reader.py,sha256=
|
|
39
|
+
doctr/io/elements.py,sha256=bGAIS34Kq_KMGl4zHjIloGCjsbyB6VcrkGq7fvQY71k,24854
|
|
40
|
+
doctr/io/html.py,sha256=cXDCMKztiFafCdPy_AMU5Ven52q1A0FJWXhPnJMLHGg,719
|
|
41
|
+
doctr/io/pdf.py,sha256=V2GAwPFvGAjBqhT85Y6uVejlLy0vn5S94_0ZJVPQLiE,1350
|
|
42
|
+
doctr/io/reader.py,sha256=68pr31K19Tej6UHAqhfAlD11paGX6h3IeSvEje8GaOg,2829
|
|
39
43
|
doctr/io/image/__init__.py,sha256=SqJtZIvr9dIDPLW39kHIX_MxufCKbI54aX28VrjeauE,193
|
|
40
44
|
doctr/io/image/base.py,sha256=g6kdcoIEQVN0dhFsVUA-gwGedhRhyKjFVrPu9QbR_UQ,1740
|
|
41
|
-
doctr/io/image/pytorch.py,sha256=
|
|
42
|
-
doctr/io/image/tensorflow.py,sha256=
|
|
43
|
-
doctr/models/__init__.py,sha256=
|
|
44
|
-
doctr/models/_utils.py,sha256=
|
|
45
|
-
doctr/models/builder.py,sha256=
|
|
45
|
+
doctr/io/image/pytorch.py,sha256=13F8tFXultegdF9yZqCMXSM9Jn4ojwT9YLYWMF5nZ6M,3310
|
|
46
|
+
doctr/io/image/tensorflow.py,sha256=47a-zW4VoAeaoihTsppFJlFyK_8dvGzjGF1GB3Ti0Ig,3213
|
|
47
|
+
doctr/models/__init__.py,sha256=yn_mXUL8B5L27Uaat1rLGRQHgLR8VLVxzBuPfNuN1YE,124
|
|
48
|
+
doctr/models/_utils.py,sha256=zt-wXy0OP8Mw9JhnCLPFhX5d5efdcijgPlLnVKBdRhw,7540
|
|
49
|
+
doctr/models/builder.py,sha256=9b6fCFDJvHo5XOyP8oz6PkrEjyGxyHUecEWYjdHv0IA,20665
|
|
46
50
|
doctr/models/core.py,sha256=SMXYuX1o_Q2zrjcF-vzfqj7IkLKlDyzEOc-4HeiEZ8g,501
|
|
47
|
-
doctr/models/zoo.py,sha256=
|
|
48
|
-
doctr/models/artefacts/__init__.py,sha256=ZPEGVgF1rk1JudUb_9EWijngdQRGsAthWdth28Hjb1U,43
|
|
49
|
-
doctr/models/artefacts/barcode.py,sha256=46QPq7J0i9PG4qtYIsRbGhoJMiNzTht2TCOKDCJiPsU,2721
|
|
50
|
-
doctr/models/artefacts/face.py,sha256=oN2tD6QO7bp79dib9IXK2Y4NB67AIMuoO92n6E1oKqI,1893
|
|
51
|
+
doctr/models/zoo.py,sha256=G52XurwqjVdLRHOZWrEu2QbmZQWsCPdZVIPu874gL_E,9318
|
|
51
52
|
doctr/models/classification/__init__.py,sha256=HeErE29Bs1-91FtS9HqNghHe89XZGzI_11MO_E6GJ7s,154
|
|
52
|
-
doctr/models/classification/zoo.py,sha256=
|
|
53
|
+
doctr/models/classification/zoo.py,sha256=HM2p1fFM83CLqrz7-Vlj-_oBEPNRpuC1bD_0AKquh0E,3503
|
|
53
54
|
doctr/models/classification/magc_resnet/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
54
55
|
doctr/models/classification/magc_resnet/pytorch.py,sha256=UY65c3_Ux2o4hOm_USEQYP7O69bj76qbUB-PCb_0Lng,5603
|
|
55
56
|
doctr/models/classification/magc_resnet/tensorflow.py,sha256=4UDrEcom_2wcyE1QjwmT-u6rtpzQ5ViyB1U6HxpT_XI,6423
|
|
56
57
|
doctr/models/classification/mobilenet/__init__.py,sha256=FBZ2YT2Cq3mj6vpDC3ff5TcMpagNWFhwxQ_brdsgBqo,172
|
|
57
|
-
doctr/models/classification/mobilenet/pytorch.py,sha256=
|
|
58
|
-
doctr/models/classification/mobilenet/tensorflow.py,sha256=
|
|
58
|
+
doctr/models/classification/mobilenet/pytorch.py,sha256=bko2qHGmGfJay2EZmEZlrzgnDah7vhLpibNYIxVFWqo,9318
|
|
59
|
+
doctr/models/classification/mobilenet/tensorflow.py,sha256=VUMq9auHRcDafvjhayCq4fV1fLS14Nxp_O6OEtA7R6A,15601
|
|
59
60
|
doctr/models/classification/predictor/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
60
|
-
doctr/models/classification/predictor/pytorch.py,sha256=
|
|
61
|
-
doctr/models/classification/predictor/tensorflow.py,sha256=
|
|
61
|
+
doctr/models/classification/predictor/pytorch.py,sha256=NEeFSUJ5QhUqtG9pDw5s3ZzR8wSORhicmxESPTVSErw,2288
|
|
62
|
+
doctr/models/classification/predictor/tensorflow.py,sha256=asJl1GiDFq8WJM_J56tx4xPR-Kqrnroc1ZGty5znkDg,2071
|
|
62
63
|
doctr/models/classification/resnet/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
63
64
|
doctr/models/classification/resnet/pytorch.py,sha256=VVkNit3HEezRfOPw8wfuiEEAUCEnYSauCvWaCFF3cwo,12442
|
|
64
65
|
doctr/models/classification/resnet/tensorflow.py,sha256=jBGiL6Mucnq7JGkyIa4Y9A6BQz2ol88cm-eBxJjsTPo,13185
|
|
65
66
|
doctr/models/classification/textnet/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
66
|
-
doctr/models/classification/textnet/pytorch.py,sha256=
|
|
67
|
-
doctr/models/classification/textnet/tensorflow.py,sha256=
|
|
67
|
+
doctr/models/classification/textnet/pytorch.py,sha256=z2BwTM-7ClEzanHWXB5Uie-_X62k1OZZ2Y6m08V_zUM,10163
|
|
68
|
+
doctr/models/classification/textnet/tensorflow.py,sha256=RVg7Nic0cn8A3eswq-YauoqvnDrdxiuzvx_h4qAGubQ,9789
|
|
68
69
|
doctr/models/classification/vgg/__init__.py,sha256=FBZ2YT2Cq3mj6vpDC3ff5TcMpagNWFhwxQ_brdsgBqo,172
|
|
69
70
|
doctr/models/classification/vgg/pytorch.py,sha256=b_q9oWmtlazD4uk9DFYezWgsgAwwN-3ewEz15E2cJR4,3136
|
|
70
71
|
doctr/models/classification/vgg/tensorflow.py,sha256=mVuyIXtX7iu622K0GwXkALOM7gzFtlGX9IABLP2NR2Y,4090
|
|
71
72
|
doctr/models/classification/vit/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
72
73
|
doctr/models/classification/vit/pytorch.py,sha256=770ZrCPX7LlVUjE9XNFrzcb2i_0lHStJ8Q4vXEhXEHs,6096
|
|
73
74
|
doctr/models/classification/vit/tensorflow.py,sha256=TtglXtKAE6y_gfzk8DOhUwoQNIMhK86tmhCB1SbT-k0,5869
|
|
74
|
-
doctr/models/detection/__init__.py,sha256=
|
|
75
|
+
doctr/models/detection/__init__.py,sha256=RqSz5beehLiqhW0PwFLFmCfTyMjofO-0umcQJLDMHjY,105
|
|
75
76
|
doctr/models/detection/core.py,sha256=K2uQTIu3ttgxj7YF7i1a-X6djIGCSFjZnQQ57JQBDv0,3566
|
|
76
|
-
doctr/models/detection/zoo.py,sha256=
|
|
77
|
-
doctr/models/detection/_utils/__init__.py,sha256=
|
|
77
|
+
doctr/models/detection/zoo.py,sha256=OJP8K3CKzLRmhaSe0CtvFPioXBcZcvf8__As_6xflFo,3332
|
|
78
|
+
doctr/models/detection/_utils/__init__.py,sha256=6f2JchSfAnB8ZShc4dvR2uZtWXEEIZ22vwt4yENoqXg,151
|
|
79
|
+
doctr/models/detection/_utils/base.py,sha256=56OnQhSmAdG2YRd6D-2tl_YXtZ60OyOyBoyJxuTNZJI,2526
|
|
78
80
|
doctr/models/detection/_utils/pytorch.py,sha256=UZ-PK5Uw0dVN978JGj5MVtF7kLXTL4EtugCoq_VVkVk,1063
|
|
79
81
|
doctr/models/detection/_utils/tensorflow.py,sha256=9D2ita4ZqJus2byLe7bkSIhyYExAiOLAGBbC7-oRZDU,979
|
|
80
82
|
doctr/models/detection/differentiable_binarization/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
81
|
-
doctr/models/detection/differentiable_binarization/base.py,sha256=
|
|
82
|
-
doctr/models/detection/differentiable_binarization/pytorch.py,sha256
|
|
83
|
-
doctr/models/detection/differentiable_binarization/tensorflow.py,sha256=
|
|
83
|
+
doctr/models/detection/differentiable_binarization/base.py,sha256=fFnXH8iGLXFk4La5G19rqvId_7RDOh5H-v_IRyb1hA0,16432
|
|
84
|
+
doctr/models/detection/differentiable_binarization/pytorch.py,sha256=nYOLVLsLF4zrnXK9u6mTPue7X2JR7WQe2gUb_UMDI6I,15955
|
|
85
|
+
doctr/models/detection/differentiable_binarization/tensorflow.py,sha256=l4QltrgDMLK_eY0dxEaCDzrB8rlhVpwUmOAPNIzd_70,14506
|
|
86
|
+
doctr/models/detection/fast/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
87
|
+
doctr/models/detection/fast/base.py,sha256=Ydm8fzKwYO_NBMnGazAYg1hpzlXZcRWJ-oKGir36DsE,10927
|
|
88
|
+
doctr/models/detection/fast/pytorch.py,sha256=4FYCaMZ2vzr_j4Phu2bOXs73L_Cfvgu4LDE0Q7m8hz0,16143
|
|
89
|
+
doctr/models/detection/fast/tensorflow.py,sha256=ps0x_AYFW5GYA2SlVQip1S4x61o2mhlSNhhJdaALnF4,15797
|
|
84
90
|
doctr/models/detection/linknet/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
85
|
-
doctr/models/detection/linknet/base.py,sha256=
|
|
91
|
+
doctr/models/detection/linknet/base.py,sha256=R12TMBNeOsY_UTjSFbPr7-FmLsMIJSwxdHc3e3pFLKw,10617
|
|
86
92
|
doctr/models/detection/linknet/pytorch.py,sha256=sodWXaCDv1taRl3g6lgwxitvhU-ZszfN-OIofsorkp8,13810
|
|
87
93
|
doctr/models/detection/linknet/tensorflow.py,sha256=PK3adzBG6wz_SA5lMrh0KBKpbDu-e3FaKwTZ8-ZaN-s,12914
|
|
88
94
|
doctr/models/detection/predictor/__init__.py,sha256=lwmH917kRdbUUBsE02fELIuXQNRNePpIj3iK43ey6Bg,159
|
|
89
|
-
doctr/models/detection/predictor/pytorch.py,sha256=
|
|
90
|
-
doctr/models/detection/predictor/tensorflow.py,sha256=
|
|
95
|
+
doctr/models/detection/predictor/pytorch.py,sha256=sNuMGvcKQeeOcW8QG-xWK0W59DohGYxXlKv0yK2HcNQ,2689
|
|
96
|
+
doctr/models/detection/predictor/tensorflow.py,sha256=W96CJhjYC3-MTcLA3FTH1lLX5DZ3ueYha2b_7A4GxNk,2448
|
|
91
97
|
doctr/models/factory/__init__.py,sha256=cKPoH2V2157lLMTR2zsljG3_IQHziodqR-XK_LG0D_I,19
|
|
92
|
-
doctr/models/factory/hub.py,sha256=
|
|
98
|
+
doctr/models/factory/hub.py,sha256=5IsoyiLfZO_QxM6-dK0-oaAleY8bMvvi9yP_n_W1FHs,7464
|
|
93
99
|
doctr/models/kie_predictor/__init__.py,sha256=lwmH917kRdbUUBsE02fELIuXQNRNePpIj3iK43ey6Bg,159
|
|
94
|
-
doctr/models/kie_predictor/base.py,sha256=
|
|
95
|
-
doctr/models/kie_predictor/pytorch.py,sha256=
|
|
96
|
-
doctr/models/kie_predictor/tensorflow.py,sha256=
|
|
100
|
+
doctr/models/kie_predictor/base.py,sha256=YTGdKda8zqM1H9gB8B2zFEN7C8NjFA00I-o3fRtipvA,2115
|
|
101
|
+
doctr/models/kie_predictor/pytorch.py,sha256=TcWjWb51aoXdfRal4diRbSbJohBOwpKsDUpci6d3VfE,7990
|
|
102
|
+
doctr/models/kie_predictor/tensorflow.py,sha256=MJTP5BlSlG50emhofPPMTKl5MgRdRTGzRhg53tdsMoE,7626
|
|
97
103
|
doctr/models/modules/__init__.py,sha256=pouP7obVTu4p6aHkyaqa1yHKbynpvT0Hgo-LO_1U2R4,83
|
|
98
104
|
doctr/models/modules/layers/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
99
|
-
doctr/models/modules/layers/pytorch.py,sha256=
|
|
100
|
-
doctr/models/modules/layers/tensorflow.py,sha256=
|
|
105
|
+
doctr/models/modules/layers/pytorch.py,sha256=UIidAIKfXQxlX9MbVWADLGrrPE7J496BMfgRHR73jMY,6853
|
|
106
|
+
doctr/models/modules/layers/tensorflow.py,sha256=etXoKXuIeFr_LD-L0x0fhVlL-cUrjL5vFTh4cmci2P8,7145
|
|
101
107
|
doctr/models/modules/transformer/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
102
|
-
doctr/models/modules/transformer/pytorch.py,sha256=
|
|
108
|
+
doctr/models/modules/transformer/pytorch.py,sha256=93wDIrV7odRORV_wOLFNsw-QSH_COjUcp9J55PPp_qA,7664
|
|
103
109
|
doctr/models/modules/transformer/tensorflow.py,sha256=NTF-Q6ClUIMdSWDqus6kPZjOlKC3XcJ3HqUeyZTqtnU,9113
|
|
104
110
|
doctr/models/modules/vision_transformer/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
105
111
|
doctr/models/modules/vision_transformer/pytorch.py,sha256=D6BbqNPV_7OFRogM0iaiWbn_6uLe3Thbo6GKRSYpfTQ,3970
|
|
106
112
|
doctr/models/modules/vision_transformer/tensorflow.py,sha256=PaDbTtCc5YGqZNd_NFMdxeq6oNxs0WtVGYwhLCjJWFY,4199
|
|
107
|
-
doctr/models/obj_detection/__init__.py,sha256=7TJnvLcLYaQtnrXaiBS38qvELgSC-hW6jIhsIfNXob4,27
|
|
108
|
-
doctr/models/obj_detection/faster_rcnn/__init__.py,sha256=LOFUrXC37tQ8hDYF_xTxiD11YEgnLsW2wY0_MJDKszk,144
|
|
109
|
-
doctr/models/obj_detection/faster_rcnn/pytorch.py,sha256=xT1U-Wo0tJLcRXe7QOwoaDDYeJKRqHAM5-TsmSGDJG0,2855
|
|
110
113
|
doctr/models/predictor/__init__.py,sha256=lwmH917kRdbUUBsE02fELIuXQNRNePpIj3iK43ey6Bg,159
|
|
111
|
-
doctr/models/predictor/base.py,sha256=
|
|
112
|
-
doctr/models/predictor/pytorch.py,sha256=
|
|
113
|
-
doctr/models/predictor/tensorflow.py,sha256=
|
|
114
|
+
doctr/models/predictor/base.py,sha256=LY910Umd0u00rrZxQNoPDcizCdsMa2cnDEg6ZQEFFjg,8157
|
|
115
|
+
doctr/models/predictor/pytorch.py,sha256=nc2QJSdUmFLel2x6kTTgRFRNFDXNZnOKwJMSF0WmRWQ,6518
|
|
116
|
+
doctr/models/predictor/tensorflow.py,sha256=Foiji8uEXCLX62E1JWdvlWDX3psLAQtiNd4Fpl0vyuc,6243
|
|
114
117
|
doctr/models/preprocessor/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
115
|
-
doctr/models/preprocessor/pytorch.py,sha256=
|
|
116
|
-
doctr/models/preprocessor/tensorflow.py,sha256=
|
|
118
|
+
doctr/models/preprocessor/pytorch.py,sha256=blJVqP1Xsa5GBX4pWrmaHJetCjP08Im8fry7BzLks-U,4877
|
|
119
|
+
doctr/models/preprocessor/tensorflow.py,sha256=6ZXPxKjXQ8NRTC_FGZZ_6-mEV_5xdzmZhJzdgR2cdl4,4625
|
|
117
120
|
doctr/models/recognition/__init__.py,sha256=902nfVyvjOuUGHDKSGZgoS0fKC52J3jcUJQJhIpvOIY,124
|
|
118
121
|
doctr/models/recognition/core.py,sha256=dbg8SebgfK8CPHXR-7rzmCI9XMLXmWW0jLd1yLLv_34,1593
|
|
119
122
|
doctr/models/recognition/utils.py,sha256=GhNehWmCjl3GJ1ZFneA3cBRrZZk36856uU5i727FaQg,3550
|
|
120
|
-
doctr/models/recognition/zoo.py,sha256=
|
|
123
|
+
doctr/models/recognition/zoo.py,sha256=GFe7TikjfjF5nxuINrFJP7jK3hqan44kjNWoIFyYylA,2506
|
|
121
124
|
doctr/models/recognition/crnn/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
122
125
|
doctr/models/recognition/crnn/pytorch.py,sha256=AE8Ey-Z5VZNGUldL-crbMdyKI__OUMBmn8nYC2790Pc,11802
|
|
123
126
|
doctr/models/recognition/crnn/tensorflow.py,sha256=dcT1X_zLmEqPiWG628lQTe9WMmfEWubXgCWFYs1BhJo,11666
|
|
124
127
|
doctr/models/recognition/master/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
125
128
|
doctr/models/recognition/master/base.py,sha256=5yQ0mUaS_ZWmUUzTAobgAlNS3Vp90PFvrzAcQXUF758,1540
|
|
126
|
-
doctr/models/recognition/master/pytorch.py,sha256
|
|
129
|
+
doctr/models/recognition/master/pytorch.py,sha256=-RpyO6mBW3ql-BjNjnh5T-EMCvxIHLIJSUkB1lzX7Uw,12260
|
|
127
130
|
doctr/models/recognition/master/tensorflow.py,sha256=rbrPMz49ySW8Wpd72dBNOH8dvcoAl3NwBi2ID7qVkxA,12140
|
|
128
131
|
doctr/models/recognition/parseq/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
129
132
|
doctr/models/recognition/parseq/base.py,sha256=8MMqibB8zZLw2qU-iyx79Zpr4MdEtbnF3f3ikfLrBjU,1534
|
|
130
|
-
doctr/models/recognition/parseq/pytorch.py,sha256=
|
|
131
|
-
doctr/models/recognition/parseq/tensorflow.py,sha256=
|
|
133
|
+
doctr/models/recognition/parseq/pytorch.py,sha256=PAojvRwtz1qzKzW3JI_tTm1pco7mPHuX-Y-lah5mZOk,19927
|
|
134
|
+
doctr/models/recognition/parseq/tensorflow.py,sha256=Y0DCm4p2Sjxv8_9zAYP_9rkBQZTMMtlQHoYq4hLk8-0,21632
|
|
132
135
|
doctr/models/recognition/predictor/__init__.py,sha256=lwmH917kRdbUUBsE02fELIuXQNRNePpIj3iK43ey6Bg,159
|
|
133
136
|
doctr/models/recognition/predictor/_utils.py,sha256=y6hDoGS8reluLmx8JmTxM2f1uhlYnjOouh0BOr6wNTA,3389
|
|
134
137
|
doctr/models/recognition/predictor/pytorch.py,sha256=snMHU0GopDEJ9HDdzpVxuvfJxVL-91Le-rc_dSqKCA0,2785
|
|
135
138
|
doctr/models/recognition/predictor/tensorflow.py,sha256=o4Mhbxf9BUofqTV863U7-Zi0H77imX3LfhqzYLc2m4k,2549
|
|
136
139
|
doctr/models/recognition/sar/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
137
|
-
doctr/models/recognition/sar/pytorch.py,sha256=
|
|
138
|
-
doctr/models/recognition/sar/tensorflow.py,sha256=
|
|
140
|
+
doctr/models/recognition/sar/pytorch.py,sha256=pN68aLfuqWKN6dexxeMy3DFJq1YP-MWUsUFj4BBHtXs,15118
|
|
141
|
+
doctr/models/recognition/sar/tensorflow.py,sha256=GLChryUwWZKAc77MxwDwTS8wc9GUzQaxlVv5PpYPuGA,15045
|
|
139
142
|
doctr/models/recognition/vitstr/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
140
143
|
doctr/models/recognition/vitstr/base.py,sha256=Xt7hq45tq999boF0XgW62x_cX5wJXx7VLxWA9H06U_o,1488
|
|
141
|
-
doctr/models/recognition/vitstr/pytorch.py,sha256=
|
|
144
|
+
doctr/models/recognition/vitstr/pytorch.py,sha256=21N7PJbaYmO_mQKW8uS0MGXTtTyFr4QYWRsX6PTKhtU,9568
|
|
142
145
|
doctr/models/recognition/vitstr/tensorflow.py,sha256=_8k6Jxd715uH8lsBqUCn4C_3tlgE75h_BXt4AlfYrk8,9671
|
|
143
146
|
doctr/models/utils/__init__.py,sha256=zwLK6mpproUGFH-1PUNiQyoR9IrAAakj7RgOiTJaBjk,200
|
|
144
147
|
doctr/models/utils/pytorch.py,sha256=bO8a432TzpHTuqAsFuAi2ld6NOT12E2rlghQlW4nAjg,5494
|
|
145
148
|
doctr/models/utils/tensorflow.py,sha256=VccfK6cyPoWuWGWAWbl17MkLa1srtHU-HJCbb_MXePw,6322
|
|
146
149
|
doctr/transforms/__init__.py,sha256=0VHbvUZ7llFd1e_7_JdWTaxYMCvaR6KbUJaYJequmQI,23
|
|
147
150
|
doctr/transforms/functional/__init__.py,sha256=FBZ2YT2Cq3mj6vpDC3ff5TcMpagNWFhwxQ_brdsgBqo,172
|
|
148
|
-
doctr/transforms/functional/base.py,sha256=
|
|
149
|
-
doctr/transforms/functional/pytorch.py,sha256=
|
|
151
|
+
doctr/transforms/functional/base.py,sha256=c2PYwU4ZDDDwTGqgaIdOTP71XZ7lo458yc3CimYxiWQ,6943
|
|
152
|
+
doctr/transforms/functional/pytorch.py,sha256=itjgP7LgIdnPNbIjPqtrZHcxGAlTFg8NP8yBtg9bEco,5007
|
|
150
153
|
doctr/transforms/functional/tensorflow.py,sha256=35dYnCtA9A9SvjndEvckxD8rK_uZ1_4BTgBZ7WiBtGI,9959
|
|
151
154
|
doctr/transforms/modules/__init__.py,sha256=a4GXc5YZWt26eeBKo2HqLmbDn1_qo-uko6GoPNrniC0,221
|
|
152
|
-
doctr/transforms/modules/base.py,sha256=
|
|
153
|
-
doctr/transforms/modules/pytorch.py,sha256=
|
|
154
|
-
doctr/transforms/modules/tensorflow.py,sha256=
|
|
155
|
+
doctr/transforms/modules/base.py,sha256=fwaXQhjuR514-fl4FqVZnb_NsOxkRtE8Yh_hiE2uCTU,9970
|
|
156
|
+
doctr/transforms/modules/pytorch.py,sha256=RCQ1MT9M4bipp5ghIQnxArvg7SjnT7xzHgShtlZmJcA,10937
|
|
157
|
+
doctr/transforms/modules/tensorflow.py,sha256=z1bR_Qk_QKSqeJByKrMTUsJyEekuCjr-ik8NO66nyyo,20348
|
|
155
158
|
doctr/utils/__init__.py,sha256=uQY9ibZ24V896fmihIsK23QOIZdKtk0HyKoCVJ_lLuM,95
|
|
156
159
|
doctr/utils/common_types.py,sha256=KXG-4mvL1MPmkrjuhCs8vAfiaBmdGRmt2yQcNlgALM8,584
|
|
157
160
|
doctr/utils/data.py,sha256=26iN_Ra1OJD_LHIEbefADMxU2yVtCpu3gYdhCW5K9B4,4280
|
|
158
|
-
doctr/utils/fonts.py,sha256=
|
|
159
|
-
doctr/utils/geometry.py,sha256=
|
|
160
|
-
doctr/utils/metrics.py,sha256=
|
|
161
|
+
doctr/utils/fonts.py,sha256=QqtfTDNCEKPb1drUbpXEhVDxtHWhKCKcGHC1l_t2_iI,1336
|
|
162
|
+
doctr/utils/geometry.py,sha256=zMgWMshx5uUqqUPgv8DJGAso96qa7yHu_0UnbzqsGOA,16459
|
|
163
|
+
doctr/utils/metrics.py,sha256=rWZUZGDhIaR422riqH3E5Mhvy_D6QwjKIz55PnILWlI,20552
|
|
161
164
|
doctr/utils/multithreading.py,sha256=iEM6o_qjutH-CxFTz7K1VQseYpVaHH3Hpw_yNDoQBSw,1989
|
|
165
|
+
doctr/utils/reconstitution.py,sha256=O-AaibQRlfhKxCAiqd_lYhXzgoRtFMQgdRwCtuQU1fI,4770
|
|
162
166
|
doctr/utils/repr.py,sha256=3GdMquo1NtwNkQPoB-nmDm_AFmU3sLc4T3VfGck9uoQ,2111
|
|
163
|
-
doctr/utils/visualization.py,sha256=
|
|
164
|
-
python_doctr-0.
|
|
165
|
-
python_doctr-0.
|
|
166
|
-
python_doctr-0.
|
|
167
|
-
python_doctr-0.
|
|
168
|
-
python_doctr-0.
|
|
169
|
-
python_doctr-0.
|
|
167
|
+
doctr/utils/visualization.py,sha256=L6UXyxecH2NVSA_u-OL0_TJ0HGLD5ROAyEaL59I7buI,13277
|
|
168
|
+
python_doctr-0.9.0.dist-info/LICENSE,sha256=75RTSsXOsAYhGpxsHc9U41ep6GS7vrUPufeekgoeOXM,11336
|
|
169
|
+
python_doctr-0.9.0.dist-info/METADATA,sha256=KU5hLGiNSLrBVfS7SBrgNkr4vGIB-OSXaU-nPQf8fRM,33351
|
|
170
|
+
python_doctr-0.9.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
171
|
+
python_doctr-0.9.0.dist-info/top_level.txt,sha256=lCgp4pmjPI3HYph62XhfzA3jRwM715kGtJPmqIUJ9t8,6
|
|
172
|
+
python_doctr-0.9.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
173
|
+
python_doctr-0.9.0.dist-info/RECORD,,
|