onnxtr 0.5.0__py3-none-any.whl → 0.6.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.
- onnxtr/contrib/__init__.py +1 -0
- onnxtr/contrib/artefacts.py +6 -8
- onnxtr/contrib/base.py +7 -16
- onnxtr/file_utils.py +1 -3
- onnxtr/io/elements.py +54 -60
- onnxtr/io/html.py +0 -2
- onnxtr/io/image.py +1 -4
- onnxtr/io/pdf.py +3 -5
- onnxtr/io/reader.py +4 -10
- onnxtr/models/_utils.py +10 -17
- onnxtr/models/builder.py +17 -30
- onnxtr/models/classification/models/mobilenet.py +7 -12
- onnxtr/models/classification/predictor/base.py +6 -7
- onnxtr/models/classification/zoo.py +25 -11
- onnxtr/models/detection/_utils/base.py +3 -7
- onnxtr/models/detection/core.py +2 -8
- onnxtr/models/detection/models/differentiable_binarization.py +10 -17
- onnxtr/models/detection/models/fast.py +10 -17
- onnxtr/models/detection/models/linknet.py +10 -17
- onnxtr/models/detection/postprocessor/base.py +3 -9
- onnxtr/models/detection/predictor/base.py +4 -5
- onnxtr/models/detection/zoo.py +20 -6
- onnxtr/models/engine.py +9 -9
- onnxtr/models/factory/hub.py +3 -7
- onnxtr/models/predictor/base.py +29 -30
- onnxtr/models/predictor/predictor.py +4 -5
- onnxtr/models/preprocessor/base.py +8 -12
- onnxtr/models/recognition/core.py +0 -1
- onnxtr/models/recognition/models/crnn.py +11 -23
- onnxtr/models/recognition/models/master.py +9 -15
- onnxtr/models/recognition/models/parseq.py +8 -12
- onnxtr/models/recognition/models/sar.py +8 -12
- onnxtr/models/recognition/models/vitstr.py +9 -15
- onnxtr/models/recognition/predictor/_utils.py +6 -9
- onnxtr/models/recognition/predictor/base.py +3 -3
- onnxtr/models/recognition/utils.py +2 -7
- onnxtr/models/recognition/zoo.py +19 -7
- onnxtr/models/zoo.py +7 -9
- onnxtr/transforms/base.py +17 -6
- onnxtr/utils/common_types.py +7 -8
- onnxtr/utils/data.py +7 -11
- onnxtr/utils/fonts.py +1 -6
- onnxtr/utils/geometry.py +18 -49
- onnxtr/utils/multithreading.py +3 -5
- onnxtr/utils/reconstitution.py +139 -38
- onnxtr/utils/repr.py +1 -2
- onnxtr/utils/visualization.py +12 -21
- onnxtr/utils/vocabs.py +1 -2
- onnxtr/version.py +1 -1
- {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/METADATA +71 -41
- onnxtr-0.6.0.dist-info/RECORD +75 -0
- {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/WHEEL +1 -1
- onnxtr-0.5.0.dist-info/RECORD +0 -75
- {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/LICENSE +0 -0
- {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/top_level.txt +0 -0
- {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/zip-safe +0 -0
onnxtr/utils/visualization.py
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# See LICENSE or go to <https://opensource.org/licenses/Apache-2.0> for full license details.
|
|
5
5
|
|
|
6
6
|
from copy import deepcopy
|
|
7
|
-
from typing import Any
|
|
7
|
+
from typing import Any
|
|
8
8
|
|
|
9
9
|
import cv2
|
|
10
10
|
import matplotlib.patches as patches
|
|
@@ -19,9 +19,9 @@ __all__ = ["visualize_page", "draw_boxes"]
|
|
|
19
19
|
|
|
20
20
|
def rect_patch(
|
|
21
21
|
geometry: BoundingBox,
|
|
22
|
-
page_dimensions:
|
|
23
|
-
label:
|
|
24
|
-
color:
|
|
22
|
+
page_dimensions: tuple[int, int],
|
|
23
|
+
label: str | None = None,
|
|
24
|
+
color: tuple[float, float, float] = (0, 0, 0),
|
|
25
25
|
alpha: float = 0.3,
|
|
26
26
|
linewidth: int = 2,
|
|
27
27
|
fill: bool = True,
|
|
@@ -30,7 +30,6 @@ def rect_patch(
|
|
|
30
30
|
"""Create a matplotlib rectangular patch for the element
|
|
31
31
|
|
|
32
32
|
Args:
|
|
33
|
-
----
|
|
34
33
|
geometry: bounding box of the element
|
|
35
34
|
page_dimensions: dimensions of the Page in format (height, width)
|
|
36
35
|
label: label to display when hovered
|
|
@@ -41,7 +40,6 @@ def rect_patch(
|
|
|
41
40
|
preserve_aspect_ratio: pass True if you passed True to the predictor
|
|
42
41
|
|
|
43
42
|
Returns:
|
|
44
|
-
-------
|
|
45
43
|
a rectangular Patch
|
|
46
44
|
"""
|
|
47
45
|
if len(geometry) != 2 or any(not isinstance(elt, tuple) or len(elt) != 2 for elt in geometry):
|
|
@@ -70,9 +68,9 @@ def rect_patch(
|
|
|
70
68
|
|
|
71
69
|
def polygon_patch(
|
|
72
70
|
geometry: np.ndarray,
|
|
73
|
-
page_dimensions:
|
|
74
|
-
label:
|
|
75
|
-
color:
|
|
71
|
+
page_dimensions: tuple[int, int],
|
|
72
|
+
label: str | None = None,
|
|
73
|
+
color: tuple[float, float, float] = (0, 0, 0),
|
|
76
74
|
alpha: float = 0.3,
|
|
77
75
|
linewidth: int = 2,
|
|
78
76
|
fill: bool = True,
|
|
@@ -81,7 +79,6 @@ def polygon_patch(
|
|
|
81
79
|
"""Create a matplotlib polygon patch for the element
|
|
82
80
|
|
|
83
81
|
Args:
|
|
84
|
-
----
|
|
85
82
|
geometry: bounding box of the element
|
|
86
83
|
page_dimensions: dimensions of the Page in format (height, width)
|
|
87
84
|
label: label to display when hovered
|
|
@@ -92,7 +89,6 @@ def polygon_patch(
|
|
|
92
89
|
preserve_aspect_ratio: pass True if you passed True to the predictor
|
|
93
90
|
|
|
94
91
|
Returns:
|
|
95
|
-
-------
|
|
96
92
|
a polygon Patch
|
|
97
93
|
"""
|
|
98
94
|
if not geometry.shape == (4, 2):
|
|
@@ -114,20 +110,18 @@ def polygon_patch(
|
|
|
114
110
|
|
|
115
111
|
|
|
116
112
|
def create_obj_patch(
|
|
117
|
-
geometry:
|
|
118
|
-
page_dimensions:
|
|
113
|
+
geometry: BoundingBox | Polygon4P | np.ndarray,
|
|
114
|
+
page_dimensions: tuple[int, int],
|
|
119
115
|
**kwargs: Any,
|
|
120
116
|
) -> patches.Patch:
|
|
121
117
|
"""Create a matplotlib patch for the element
|
|
122
118
|
|
|
123
119
|
Args:
|
|
124
|
-
----
|
|
125
120
|
geometry: bounding box (straight or rotated) of the element
|
|
126
121
|
page_dimensions: dimensions of the page in format (height, width)
|
|
127
122
|
**kwargs: keyword arguments for the patch
|
|
128
123
|
|
|
129
124
|
Returns:
|
|
130
|
-
-------
|
|
131
125
|
a matplotlib Patch
|
|
132
126
|
"""
|
|
133
127
|
if isinstance(geometry, tuple):
|
|
@@ -141,7 +135,7 @@ def create_obj_patch(
|
|
|
141
135
|
|
|
142
136
|
|
|
143
137
|
def visualize_page(
|
|
144
|
-
page:
|
|
138
|
+
page: dict[str, Any],
|
|
145
139
|
image: np.ndarray,
|
|
146
140
|
words_only: bool = True,
|
|
147
141
|
display_artefacts: bool = True,
|
|
@@ -163,7 +157,6 @@ def visualize_page(
|
|
|
163
157
|
>>> plt.show()
|
|
164
158
|
|
|
165
159
|
Args:
|
|
166
|
-
----
|
|
167
160
|
page: the exported Page of a Document
|
|
168
161
|
image: np array of the page, needs to have the same shape than page['dimensions']
|
|
169
162
|
words_only: whether only words should be displayed
|
|
@@ -174,7 +167,6 @@ def visualize_page(
|
|
|
174
167
|
**kwargs: keyword arguments for the polygon patch
|
|
175
168
|
|
|
176
169
|
Returns:
|
|
177
|
-
-------
|
|
178
170
|
the matplotlib figure
|
|
179
171
|
"""
|
|
180
172
|
# Get proper scale and aspect ratio
|
|
@@ -187,7 +179,7 @@ def visualize_page(
|
|
|
187
179
|
ax.axis("off")
|
|
188
180
|
|
|
189
181
|
if interactive:
|
|
190
|
-
artists:
|
|
182
|
+
artists: list[patches.Patch] = [] # instantiate an empty list of patches (to be drawn on the page)
|
|
191
183
|
|
|
192
184
|
for block in page["blocks"]:
|
|
193
185
|
if not words_only:
|
|
@@ -266,11 +258,10 @@ def visualize_page(
|
|
|
266
258
|
return fig
|
|
267
259
|
|
|
268
260
|
|
|
269
|
-
def draw_boxes(boxes: np.ndarray, image: np.ndarray, color:
|
|
261
|
+
def draw_boxes(boxes: np.ndarray, image: np.ndarray, color: tuple[int, int, int] | None = None, **kwargs) -> None:
|
|
270
262
|
"""Draw an array of relative straight boxes on an image
|
|
271
263
|
|
|
272
264
|
Args:
|
|
273
|
-
----
|
|
274
265
|
boxes: array of relative boxes, of shape (*, 4)
|
|
275
266
|
image: np array, float32 or uint8
|
|
276
267
|
color: color to use for bounding box edges
|
onnxtr/utils/vocabs.py
CHANGED
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
# See LICENSE or go to <https://opensource.org/licenses/Apache-2.0> for full license details.
|
|
5
5
|
|
|
6
6
|
import string
|
|
7
|
-
from typing import Dict
|
|
8
7
|
|
|
9
8
|
__all__ = ["VOCABS"]
|
|
10
9
|
|
|
11
10
|
|
|
12
|
-
VOCABS:
|
|
11
|
+
VOCABS: dict[str, str] = {
|
|
13
12
|
"digits": string.digits,
|
|
14
13
|
"ascii_letters": string.ascii_letters,
|
|
15
14
|
"punctuation": string.punctuation,
|
onnxtr/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = 'v0.
|
|
1
|
+
__version__ = 'v0.6.0'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: onnxtr
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Onnx Text Recognition (OnnxTR): docTR Onnx-Wrapper for high-performance OCR on documents.
|
|
5
5
|
Author-email: Felix Dittrich <felixdittrich92@gmail.com>
|
|
6
6
|
Maintainer: Felix Dittrich
|
|
7
|
-
License:
|
|
7
|
+
License: Apache License
|
|
8
8
|
Version 2.0, January 2004
|
|
9
9
|
http://www.apache.org/licenses/
|
|
10
10
|
|
|
@@ -209,7 +209,7 @@ License: Apache License
|
|
|
209
209
|
Project-URL: repository, https://github.com/felixdittrich92/OnnxTR
|
|
210
210
|
Project-URL: tracker, https://github.com/felixdittrich92/OnnxTR/issues
|
|
211
211
|
Project-URL: changelog, https://github.com/felixdittrich92/OnnxTR/releases
|
|
212
|
-
Keywords: OCR,deep learning,computer vision,onnx,text detection,text recognition,docTR,document analysis,document processing
|
|
212
|
+
Keywords: OCR,deep learning,computer vision,onnx,text detection,text recognition,docTR,document analysis,document processing,document AI
|
|
213
213
|
Classifier: Development Status :: 4 - Beta
|
|
214
214
|
Classifier: Intended Audience :: Developers
|
|
215
215
|
Classifier: Intended Audience :: Education
|
|
@@ -218,11 +218,11 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
218
218
|
Classifier: Natural Language :: English
|
|
219
219
|
Classifier: Operating System :: OS Independent
|
|
220
220
|
Classifier: Programming Language :: Python :: 3
|
|
221
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
222
221
|
Classifier: Programming Language :: Python :: 3.10
|
|
223
222
|
Classifier: Programming Language :: Python :: 3.11
|
|
223
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
224
224
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
225
|
-
Requires-Python: <4,>=3.
|
|
225
|
+
Requires-Python: <4,>=3.10.0
|
|
226
226
|
Description-Content-Type: text/markdown
|
|
227
227
|
License-File: LICENSE
|
|
228
228
|
Requires-Dist: numpy<3.0.0,>=1.16.0
|
|
@@ -238,13 +238,38 @@ Requires-Dist: defusedxml>=0.7.0
|
|
|
238
238
|
Requires-Dist: anyascii>=0.3.2
|
|
239
239
|
Requires-Dist: tqdm>=4.30.0
|
|
240
240
|
Provides-Extra: cpu
|
|
241
|
-
Requires-Dist: onnxruntime>=1.
|
|
241
|
+
Requires-Dist: onnxruntime>=1.18.0; extra == "cpu"
|
|
242
242
|
Requires-Dist: opencv-python<5.0.0,>=4.5.0; extra == "cpu"
|
|
243
|
+
Provides-Extra: gpu
|
|
244
|
+
Requires-Dist: onnxruntime-gpu>=1.18.0; extra == "gpu"
|
|
245
|
+
Requires-Dist: opencv-python<5.0.0,>=4.5.0; extra == "gpu"
|
|
246
|
+
Provides-Extra: openvino
|
|
247
|
+
Requires-Dist: onnxruntime-openvino>=1.18.0; extra == "openvino"
|
|
248
|
+
Requires-Dist: opencv-python<5.0.0,>=4.5.0; extra == "openvino"
|
|
243
249
|
Provides-Extra: cpu-headless
|
|
244
|
-
Requires-Dist: onnxruntime>=1.
|
|
250
|
+
Requires-Dist: onnxruntime>=1.18.0; extra == "cpu-headless"
|
|
245
251
|
Requires-Dist: opencv-python-headless<5.0.0,>=4.5.0; extra == "cpu-headless"
|
|
252
|
+
Provides-Extra: gpu-headless
|
|
253
|
+
Requires-Dist: onnxruntime-gpu>=1.18.0; extra == "gpu-headless"
|
|
254
|
+
Requires-Dist: opencv-python-headless<5.0.0,>=4.5.0; extra == "gpu-headless"
|
|
255
|
+
Provides-Extra: openvino-headless
|
|
256
|
+
Requires-Dist: onnxruntime-openvino>=1.18.0; extra == "openvino-headless"
|
|
257
|
+
Requires-Dist: opencv-python-headless<5.0.0,>=4.5.0; extra == "openvino-headless"
|
|
258
|
+
Provides-Extra: html
|
|
259
|
+
Requires-Dist: weasyprint>=55.0; extra == "html"
|
|
260
|
+
Provides-Extra: viz
|
|
261
|
+
Requires-Dist: matplotlib>=3.1.0; extra == "viz"
|
|
262
|
+
Requires-Dist: mplcursors>=0.3; extra == "viz"
|
|
263
|
+
Provides-Extra: testing
|
|
264
|
+
Requires-Dist: pytest>=5.3.2; extra == "testing"
|
|
265
|
+
Requires-Dist: coverage[toml]>=4.5.4; extra == "testing"
|
|
266
|
+
Requires-Dist: requests>=2.20.0; extra == "testing"
|
|
267
|
+
Provides-Extra: quality
|
|
268
|
+
Requires-Dist: ruff>=0.1.5; extra == "quality"
|
|
269
|
+
Requires-Dist: mypy>=0.812; extra == "quality"
|
|
270
|
+
Requires-Dist: pre-commit>=2.17.0; extra == "quality"
|
|
246
271
|
Provides-Extra: dev
|
|
247
|
-
Requires-Dist: onnxruntime>=1.
|
|
272
|
+
Requires-Dist: onnxruntime>=1.18.0; extra == "dev"
|
|
248
273
|
Requires-Dist: opencv-python<5.0.0,>=4.5.0; extra == "dev"
|
|
249
274
|
Requires-Dist: weasyprint>=55.0; extra == "dev"
|
|
250
275
|
Requires-Dist: matplotlib>=3.1.0; extra == "dev"
|
|
@@ -255,25 +280,6 @@ Requires-Dist: requests>=2.20.0; extra == "dev"
|
|
|
255
280
|
Requires-Dist: ruff>=0.1.5; extra == "dev"
|
|
256
281
|
Requires-Dist: mypy>=0.812; extra == "dev"
|
|
257
282
|
Requires-Dist: pre-commit>=2.17.0; extra == "dev"
|
|
258
|
-
Provides-Extra: gpu
|
|
259
|
-
Requires-Dist: onnxruntime-gpu>=1.11.0; extra == "gpu"
|
|
260
|
-
Requires-Dist: opencv-python<5.0.0,>=4.5.0; extra == "gpu"
|
|
261
|
-
Provides-Extra: gpu-headless
|
|
262
|
-
Requires-Dist: onnxruntime-gpu>=1.11.0; extra == "gpu-headless"
|
|
263
|
-
Requires-Dist: opencv-python-headless<5.0.0,>=4.5.0; extra == "gpu-headless"
|
|
264
|
-
Provides-Extra: html
|
|
265
|
-
Requires-Dist: weasyprint>=55.0; extra == "html"
|
|
266
|
-
Provides-Extra: quality
|
|
267
|
-
Requires-Dist: ruff>=0.1.5; extra == "quality"
|
|
268
|
-
Requires-Dist: mypy>=0.812; extra == "quality"
|
|
269
|
-
Requires-Dist: pre-commit>=2.17.0; extra == "quality"
|
|
270
|
-
Provides-Extra: testing
|
|
271
|
-
Requires-Dist: pytest>=5.3.2; extra == "testing"
|
|
272
|
-
Requires-Dist: coverage[toml]>=4.5.4; extra == "testing"
|
|
273
|
-
Requires-Dist: requests>=2.20.0; extra == "testing"
|
|
274
|
-
Provides-Extra: viz
|
|
275
|
-
Requires-Dist: matplotlib>=3.1.0; extra == "viz"
|
|
276
|
-
Requires-Dist: mplcursors>=0.3; extra == "viz"
|
|
277
283
|
|
|
278
284
|
<p align="center">
|
|
279
285
|
<img src="https://github.com/felixdittrich92/OnnxTR/raw/main/docs/images/logo.jpg" width="40%">
|
|
@@ -284,7 +290,9 @@ Requires-Dist: mplcursors>=0.3; extra == "viz"
|
|
|
284
290
|
[](https://codecov.io/gh/felixdittrich92/OnnxTR)
|
|
285
291
|
[](https://app.codacy.com/gh/felixdittrich92/OnnxTR/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
|
|
286
292
|
[](https://www.codefactor.io/repository/github/felixdittrich92/onnxtr)
|
|
287
|
-
[](https://pypi.org/project/OnnxTR/)
|
|
294
|
+
[](https://github.com/felixdittrich92/OnnxTR/pkgs/container/onnxtr)
|
|
295
|
+
[](https://huggingface.co/spaces/Felix92/OnnxTR-OCR)
|
|
288
296
|
|
|
289
297
|
> :warning: Please note that this is a wrapper around the [doctr](https://github.com/mindee/doctr) library to provide a Onnx pipeline for docTR. For feature requests, which are not directly related to the Onnx pipeline, please refer to the base project.
|
|
290
298
|
|
|
@@ -303,7 +311,7 @@ What you can expect from this repository:
|
|
|
303
311
|
|
|
304
312
|
### Prerequisites
|
|
305
313
|
|
|
306
|
-
Python 3.
|
|
314
|
+
Python 3.10 (or higher) and [pip](https://pip.pypa.io/en/stable/) are required to install OnnxTR.
|
|
307
315
|
|
|
308
316
|
### Latest release
|
|
309
317
|
|
|
@@ -311,16 +319,22 @@ You can then install the latest release of the package using [pypi](https://pypi
|
|
|
311
319
|
|
|
312
320
|
**NOTE:**
|
|
313
321
|
|
|
314
|
-
|
|
322
|
+
Currently supported execution providers by default are: CPU, CUDA (NVIDIA GPU), OpenVINO (Intel CPU | GPU).
|
|
323
|
+
|
|
324
|
+
For GPU support please take a look at: [ONNX Runtime](https://onnxruntime.ai/getting-started).
|
|
315
325
|
|
|
316
326
|
- **Prerequisites:** CUDA & cuDNN needs to be installed before [Version table](https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html).
|
|
317
327
|
|
|
318
328
|
```shell
|
|
329
|
+
# standard cpu support
|
|
319
330
|
pip install "onnxtr[cpu]"
|
|
320
331
|
pip install "onnxtr[cpu-headless]" # same as cpu but with opencv-headless
|
|
321
332
|
# with gpu support
|
|
322
333
|
pip install "onnxtr[gpu]"
|
|
323
334
|
pip install "onnxtr[gpu-headless]" # same as gpu but with opencv-headless
|
|
335
|
+
# OpenVINO cpu | gpu support for Intel CPUs | GPUs
|
|
336
|
+
pip install "onnxtr[openvino]"
|
|
337
|
+
pip install "onnxtr[openvino-headless]" # same as openvino but with opencv-headless
|
|
324
338
|
# with HTML support
|
|
325
339
|
pip install "onnxtr[html]"
|
|
326
340
|
# with support for visualization
|
|
@@ -329,6 +343,18 @@ pip install "onnxtr[viz]"
|
|
|
329
343
|
pip install "onnxtr[html, gpu, viz]"
|
|
330
344
|
```
|
|
331
345
|
|
|
346
|
+
**Recommendation:**
|
|
347
|
+
|
|
348
|
+
If you have:
|
|
349
|
+
|
|
350
|
+
- a NVIDIA GPU, use one of the `gpu` variants
|
|
351
|
+
- an Intel CPU or GPU, use one of the `openvino` variants
|
|
352
|
+
- otherwise, use one of the `cpu` variants
|
|
353
|
+
|
|
354
|
+
**OpenVINO:**
|
|
355
|
+
|
|
356
|
+
By default OnnxTR running with the OpenVINO execution provider backend uses the `CPU` device with `FP32` precision, to change the device or for further configuaration please refer to the [ONNX Runtime OpenVINO documentation](https://onnxruntime.ai/docs/execution-providers/OpenVINO-ExecutionProvider.html#summary-of-options).
|
|
357
|
+
|
|
332
358
|
### Reading files
|
|
333
359
|
|
|
334
360
|
Documents can be interpreted from PDF / Images / Webpages / Multiple page images using the following code snippet:
|
|
@@ -358,8 +384,10 @@ model = ocr_predictor(
|
|
|
358
384
|
reco_arch='vitstr_base', # recognition architecture
|
|
359
385
|
det_bs=2, # detection batch size
|
|
360
386
|
reco_bs=512, # recognition batch size
|
|
387
|
+
# Document related parameters
|
|
361
388
|
assume_straight_pages=True, # set to `False` if the pages are not straight (rotation, perspective, etc.) (default: True)
|
|
362
389
|
straighten_pages=False, # set to `True` if the pages should be straightened before final processing (default: False)
|
|
390
|
+
export_as_straight_boxes=False, # set to `True` if the boxes should be exported as if the pages were straight (default: False)
|
|
363
391
|
# Preprocessing related parameters
|
|
364
392
|
preserve_aspect_ratio=True, # set to `False` if the aspect ratio should not be preserved (default: True)
|
|
365
393
|
symmetric_pad=True, # set to `False` to disable symmetric padding (default: True)
|
|
@@ -595,19 +623,20 @@ Benchmarking performed on the FUNSD dataset and CORD dataset.
|
|
|
595
623
|
|
|
596
624
|
docTR / OnnxTR models used for the benchmarks are `fast_base` (full precision) | `db_resnet50` (8-bit variant) for detection and `crnn_vgg16_bn` for recognition.
|
|
597
625
|
|
|
598
|
-
The smallest combination in OnnxTR (docTR) of `db_mobilenet_v3_large` and `crnn_mobilenet_v3_small` takes as comparison `~0.17s / Page` on the FUNSD dataset and `~0.12s / Page` on the CORD dataset in **full precision
|
|
626
|
+
The smallest combination in OnnxTR (docTR) of `db_mobilenet_v3_large` and `crnn_mobilenet_v3_small` takes as comparison `~0.17s / Page` on the FUNSD dataset and `~0.12s / Page` on the CORD dataset in **full precision** on CPU.
|
|
599
627
|
|
|
600
628
|
- CPU benchmarks:
|
|
601
629
|
|
|
602
|
-
|Library
|
|
603
|
-
|
|
604
|
-
|docTR (CPU) - v0.8.1
|
|
605
|
-
|**OnnxTR (CPU)** - v0.
|
|
606
|
-
|**OnnxTR (CPU) 8-bit** - v0.
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
|
630
|
+
|Library |FUNSD (199 pages) |CORD (900 pages) |
|
|
631
|
+
|------------------------------------|-------------------------------|-------------------------------|
|
|
632
|
+
|docTR (CPU) - v0.8.1 | ~1.29s / Page | ~0.60s / Page |
|
|
633
|
+
|**OnnxTR (CPU)** - v0.6.0 | ~0.57s / Page | **~0.25s / Page** |
|
|
634
|
+
|**OnnxTR (CPU) 8-bit** - v0.6.0 | **~0.38s / Page** | **~0.14s / Page** |
|
|
635
|
+
|**OnnxTR (CPU-OpenVINO)** - v0.6.0 | **~0.15s / Page** | **~0.14s / Page** |
|
|
636
|
+
|EasyOCR (CPU) - v1.7.1 | ~1.96s / Page | ~1.75s / Page |
|
|
637
|
+
|**PyTesseract (CPU)** - v0.3.10 | **~0.50s / Page** | ~0.52s / Page |
|
|
638
|
+
|Surya (line) (CPU) - v0.4.4 | ~48.76s / Page | ~35.49s / Page |
|
|
639
|
+
|PaddleOCR (CPU) - no cls - v2.7.3 | ~1.27s / Page | ~0.38s / Page |
|
|
611
640
|
|
|
612
641
|
- GPU benchmarks:
|
|
613
642
|
|
|
@@ -615,7 +644,8 @@ The smallest combination in OnnxTR (docTR) of `db_mobilenet_v3_large` and `crnn_
|
|
|
615
644
|
|-------------------------------------|-------------------------------|-------------------------------|
|
|
616
645
|
|docTR (GPU) - v0.8.1 | ~0.07s / Page | ~0.05s / Page |
|
|
617
646
|
|**docTR (GPU) float16** - v0.8.1 | **~0.06s / Page** | **~0.03s / Page** |
|
|
618
|
-
|OnnxTR (GPU) - v0.
|
|
647
|
+
|OnnxTR (GPU) - v0.6.0 | **~0.06s / Page** | ~0.04s / Page |
|
|
648
|
+
|**OnnxTR (GPU) float16 - v0.6.0** | **~0.05s / Page** | **~0.03s / Page** |
|
|
619
649
|
|EasyOCR (GPU) - v1.7.1 | ~0.31s / Page | ~0.19s / Page |
|
|
620
650
|
|Surya (GPU) float16 - v0.4.4 | ~3.70s / Page | ~2.81s / Page |
|
|
621
651
|
|**PaddleOCR (GPU) - no cls - v2.7.3**| ~0.08s / Page | **~0.03s / Page** |
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
onnxtr/__init__.py,sha256=h7Wc2tuHLsaoCk5xNpEFEK-g11A6SJA7nAasA76TQ_Y,100
|
|
2
|
+
onnxtr/file_utils.py,sha256=LnHd3Ns6TA9AAyYnOnE8hs-obAKYdJfnxo4WshUo300,1067
|
|
3
|
+
onnxtr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
onnxtr/version.py,sha256=wIe1qRfuQKAuHZHcUFU7RwRIL___wvw0qm3KCxHLyFg,23
|
|
5
|
+
onnxtr/contrib/__init__.py,sha256=0Jo052I1DIdbNVYQBg213UJBNH3UKZIOcn2HVusQlj4,39
|
|
6
|
+
onnxtr/contrib/artefacts.py,sha256=gPy2uD1gHIRsTS3-BSJHPZleqNsWoQkRh465QUJpFJ4,5323
|
|
7
|
+
onnxtr/contrib/base.py,sha256=tA00-Mo4QsJ5Bjtexg2YFnBQ3xIfs3vn-PiMSBXp8Dc,3135
|
|
8
|
+
onnxtr/io/__init__.py,sha256=kS7tKGFvzxOCWBOun-Y8n9CsziwRKNynjwpZEUUI03M,106
|
|
9
|
+
onnxtr/io/elements.py,sha256=k4CLnZiyXt3HvDkIxXsjYqDwNSpksinRKMrr8qCx3Pk,17736
|
|
10
|
+
onnxtr/io/html.py,sha256=fnBj3-wfk1UhRQWgiF6TST54K97N_bxg-XdLtddbk0k,716
|
|
11
|
+
onnxtr/io/image.py,sha256=GBVAC1Au_18Oz6FG4sZKINhspb6-w447WdRYZsKMxEo,1700
|
|
12
|
+
onnxtr/io/pdf.py,sha256=8TD2kFdVRky5-hs8xXgvrM8DspRHaJNVUSg5x4Z3JuI,1327
|
|
13
|
+
onnxtr/io/reader.py,sha256=BAatmgolmAkFtrExtE-sZ1dT8R8rTy8az2RgoKIUlTo,2755
|
|
14
|
+
onnxtr/models/__init__.py,sha256=QTfZlqUyv1d7NUCbGIUFM1DLOOXe-cqHZ7uaKkGdXvk,157
|
|
15
|
+
onnxtr/models/_utils.py,sha256=ep0kXUIUoyvVWQtJBkF7Ma_2NI_-vunMciS5vas_RC8,6424
|
|
16
|
+
onnxtr/models/builder.py,sha256=Q-UdIlQUyT7tAcPiZ5lxsIMrvvvQweYSlTRSzmkg700,14076
|
|
17
|
+
onnxtr/models/engine.py,sha256=q5kAjSMoQNJz0cYD9Td4K6JUfXXeKGjxMaTVjazJR88,4839
|
|
18
|
+
onnxtr/models/zoo.py,sha256=JYwhhU1dKi05dZ_d5Rte5qvTEtEFWqHCmpRHWpGjLJw,5303
|
|
19
|
+
onnxtr/models/classification/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
20
|
+
onnxtr/models/classification/zoo.py,sha256=loXyRt0YIbNOUVBTtzioPx0wQTu5nNNmiO8O40w-TZU,4271
|
|
21
|
+
onnxtr/models/classification/models/__init__.py,sha256=rohbM6ZQslfYchi7feZwwh-sX3XXRUhgtEJQeurAytQ,24
|
|
22
|
+
onnxtr/models/classification/models/mobilenet.py,sha256=bAxLLh3WDF2l6LIQMF-iT42EAi_5tQLVh_xV_YF_vXs,4818
|
|
23
|
+
onnxtr/models/classification/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
24
|
+
onnxtr/models/classification/predictor/base.py,sha256=Cu-WJalJTmt3jw7kA8yProUqNEtDxyNPsac6RgwkpLs,2313
|
|
25
|
+
onnxtr/models/detection/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
26
|
+
onnxtr/models/detection/core.py,sha256=QfJkzhX2RFFPzw6L4YYPK838ych2HcmTLpincSyKyzw,3497
|
|
27
|
+
onnxtr/models/detection/zoo.py,sha256=xoFPyNKFg3gcuYjzRBA54dNkK6NRvVYmy48yp59Kr3M,3324
|
|
28
|
+
onnxtr/models/detection/_utils/__init__.py,sha256=oPkIYbySSbLsOk02wVPNO9bUuywC47YjaenfyTwfOsw,20
|
|
29
|
+
onnxtr/models/detection/_utils/base.py,sha256=2jDJxfmLG1WdBEjFuNXisMQIheLkxv5zZNdBoatpJh8,2300
|
|
30
|
+
onnxtr/models/detection/models/__init__.py,sha256=6Ea6knYrVCR2jAmPlsVWmCdHe-c6lSRETSAuZGfhx8I,85
|
|
31
|
+
onnxtr/models/detection/models/differentiable_binarization.py,sha256=794Ohj6wNJ2aW5iG6EsvF73xH_h7Zm6VaYHycxiD4xY,6630
|
|
32
|
+
onnxtr/models/detection/models/fast.py,sha256=6COxzjFYEy5I1eu6goT7Rg_C4hOzErBFtr2Ewm9_FVM,6188
|
|
33
|
+
onnxtr/models/detection/models/linknet.py,sha256=KBAZfrG_1G2XiSYDzA1oWUeF-YBGAZgM7ICx2e-EaQ4,6666
|
|
34
|
+
onnxtr/models/detection/postprocessor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
onnxtr/models/detection/postprocessor/base.py,sha256=T8uWfjiEamuSX9IHesToz5BeEHUAUijOBf0L9or0FWM,5692
|
|
36
|
+
onnxtr/models/detection/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
37
|
+
onnxtr/models/detection/predictor/base.py,sha256=JDA7IzqIYB7QdmWxXl8bXzVA6aCfjtlo0nPlkhlhxu8,2293
|
|
38
|
+
onnxtr/models/factory/__init__.py,sha256=cKPoH2V2157lLMTR2zsljG3_IQHziodqR-XK_LG0D_I,19
|
|
39
|
+
onnxtr/models/factory/hub.py,sha256=voxC3yxElLQYx_dkFLvFIFGZnLJn10KGgJ0NYGL0LBU,7126
|
|
40
|
+
onnxtr/models/predictor/__init__.py,sha256=XL25XkRkgyK7mldF-CWhg2MMakSdP5vLpDLwL59hphk,25
|
|
41
|
+
onnxtr/models/predictor/base.py,sha256=skQ52iKd_Yb06UsHJ4IDlqWjUxeJzxj770ViSUBeki4,9432
|
|
42
|
+
onnxtr/models/predictor/predictor.py,sha256=Ds2k2_5hsq9DCrWoTFunkEvfZnSwKvMp_NZBDRpYiBE,6377
|
|
43
|
+
onnxtr/models/preprocessor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
44
|
+
onnxtr/models/preprocessor/base.py,sha256=tGv4FZddcjOXEXKkYF-EqisY7xok13gJ41rKmYxuuGk,3963
|
|
45
|
+
onnxtr/models/recognition/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
46
|
+
onnxtr/models/recognition/core.py,sha256=uvlJJcrMkfchdfjXSrxRV3eyGT01e_OTORQ8NbMX1KI,730
|
|
47
|
+
onnxtr/models/recognition/utils.py,sha256=ewxztEeZx7dG8wq6FEwesaAXp_S1mED-h-mnSR4KcbI,3503
|
|
48
|
+
onnxtr/models/recognition/zoo.py,sha256=W0RgI8wde83QLIeSm3k4YHoLzFwmVvCheF2D7I3Jlr4,2857
|
|
49
|
+
onnxtr/models/recognition/models/__init__.py,sha256=IXfiuzzkft8O1CpBZWYTpFw19y49mt5rJ_iGSdaWiU0,105
|
|
50
|
+
onnxtr/models/recognition/models/crnn.py,sha256=1mZrwnxBk_bkSpZwxZw2EZBdRQ_QST4kfElIIKb34ZA,8786
|
|
51
|
+
onnxtr/models/recognition/models/master.py,sha256=nAUiQ5FS7jqSDfOCmgNt3Oh76xPEKMF28VefvXfve7Y,4669
|
|
52
|
+
onnxtr/models/recognition/models/parseq.py,sha256=001zYFYhGv9F_3wneBccHG9KLd8_3ul_dO_OHVnYimI,4512
|
|
53
|
+
onnxtr/models/recognition/models/sar.py,sha256=On-rBYw7eboLDRN8pSBHPaN_XgOUgVoVvZ3ytcMh62k,4523
|
|
54
|
+
onnxtr/models/recognition/models/vitstr.py,sha256=sk2JXxQ0uRqqq0FWpM90MfW8HhHmeQUW8C-ew9lyG4w,5964
|
|
55
|
+
onnxtr/models/recognition/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
56
|
+
onnxtr/models/recognition/predictor/_utils.py,sha256=Ee_BfKyhvJJij763VRGTfzqWcft0pGnN_zSSmXAY8fE,3329
|
|
57
|
+
onnxtr/models/recognition/predictor/base.py,sha256=3OREQIsAWPxdKKRyJD5WRAs47AZknff85EeIU5qZsBA,2488
|
|
58
|
+
onnxtr/transforms/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
59
|
+
onnxtr/transforms/base.py,sha256=Fu0xBf9xdDrbVP9Hc7l3R35TGNANSbRqrFCoxl4OTqo,3887
|
|
60
|
+
onnxtr/utils/__init__.py,sha256=pESRJKtcQyjRxiMgZPhtPYeLbCj-YSGyMVRHTbcMONU,94
|
|
61
|
+
onnxtr/utils/common_types.py,sha256=6fn8g3aLV-cu4QkM_R_Ab8Ihmok16EXvhpuz7Q5no20,551
|
|
62
|
+
onnxtr/utils/data.py,sha256=2nHI3WH5NYZW94LigQwBxG2bSDBXQl9UIu-e3sHq-CQ,4262
|
|
63
|
+
onnxtr/utils/fonts.py,sha256=OnSgUAXn4zkfMuD1AO08zfYyM_qI5FRp39oXP_6kU40,1282
|
|
64
|
+
onnxtr/utils/geometry.py,sha256=sFw66wThJfFKOyaM-kPeA719WHOIBH97mGoLhtE7nhg,20418
|
|
65
|
+
onnxtr/utils/multithreading.py,sha256=4vHWzX__xOnvtlpL_BTQUzUDLhTtJbYFXhm7C_NyIpc,1994
|
|
66
|
+
onnxtr/utils/reconstitution.py,sha256=C2U7qEU2xHBnxN_7bDq3wvCrYG2gf6cWWxWguChKXbY,6119
|
|
67
|
+
onnxtr/utils/repr.py,sha256=CPHCedlVWUMSTjcDpj7YpsV4wu7Z0tXbY1SfCixNvZ0,2105
|
|
68
|
+
onnxtr/utils/visualization.py,sha256=LYMDIIxYlt0B4AxvoGfw463pD9_B88I-811_vwcrSw0,9782
|
|
69
|
+
onnxtr/utils/vocabs.py,sha256=PTqQwd3itXRlX057JV4PjpXlAw_k7Yb5_wxK4CGKFHE,4136
|
|
70
|
+
onnxtr-0.6.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
71
|
+
onnxtr-0.6.0.dist-info/METADATA,sha256=8KUWIDZ_gtm9YfH1aq0yf5iitRx5D6PkAMPM4p6k-Fo,34597
|
|
72
|
+
onnxtr-0.6.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
73
|
+
onnxtr-0.6.0.dist-info/top_level.txt,sha256=r_MSUTpspp4pWEEWvly-s7ZkfCg1KwrK6-kBlXkWKU8,7
|
|
74
|
+
onnxtr-0.6.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
75
|
+
onnxtr-0.6.0.dist-info/RECORD,,
|
onnxtr-0.5.0.dist-info/RECORD
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
onnxtr/__init__.py,sha256=h7Wc2tuHLsaoCk5xNpEFEK-g11A6SJA7nAasA76TQ_Y,100
|
|
2
|
-
onnxtr/file_utils.py,sha256=WjUKalEdR53aoeIY4e-ihy3r7J_C9qFxL40JHGPfutc,1107
|
|
3
|
-
onnxtr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
onnxtr/version.py,sha256=ay2eyvYrrrmoUF0UOrGyngPZ_bXQGVx5uePigx1AqEU,23
|
|
5
|
-
onnxtr/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
onnxtr/contrib/artefacts.py,sha256=tdmfhvfXVRYEH7uj4_hqf2cuUGoTieyNK8bXsD3zHwo,5383
|
|
7
|
-
onnxtr/contrib/base.py,sha256=KyJ8_zDSKEWSFBszgCbLjEeI7SKg4N_iH_ZQNf90SWQ,3288
|
|
8
|
-
onnxtr/io/__init__.py,sha256=kS7tKGFvzxOCWBOun-Y8n9CsziwRKNynjwpZEUUI03M,106
|
|
9
|
-
onnxtr/io/elements.py,sha256=h-IxpFqXrvg-fOhpnOqpGFLdG-lR-xYYIxk3chy_MN8,17769
|
|
10
|
-
onnxtr/io/html.py,sha256=Em_7PjZ56SugJ9bjjcWLCMVe5ee6uUMKeZovNxJFAXw,737
|
|
11
|
-
onnxtr/io/image.py,sha256=4tLTh2bGdA0ohh3a6mV6xD0KqNOtIVi5lJ06XSmeyMI,1759
|
|
12
|
-
onnxtr/io/pdf.py,sha256=tD0klmxI-gkMXp56f_ZXWyPHLsUBKa_xlhNTtGV6tpU,1367
|
|
13
|
-
onnxtr/io/reader.py,sha256=BA7DPhW-Gkmce_ZfzrOl4H3pSXVy2JBeQEuY3pWrBFg,2852
|
|
14
|
-
onnxtr/models/__init__.py,sha256=QTfZlqUyv1d7NUCbGIUFM1DLOOXe-cqHZ7uaKkGdXvk,157
|
|
15
|
-
onnxtr/models/_utils.py,sha256=KncsNcoWqbsxFwduce2STuGHLhv63nXEHv7CMuh6wYA,6606
|
|
16
|
-
onnxtr/models/builder.py,sha256=dEZPHkyq-qXo4ZPs9CrufkkWYRrbvxU38ujTx333Mmo,14294
|
|
17
|
-
onnxtr/models/engine.py,sha256=w1vzEduzVDHuxOb0JEkhPp2whrK7ViP03KZiNUNbe4I,4837
|
|
18
|
-
onnxtr/models/zoo.py,sha256=Zcx0mOfMwUR2YAMd7ug06RvXeG2T1PzR2twS6y9X19A,5352
|
|
19
|
-
onnxtr/models/classification/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
20
|
-
onnxtr/models/classification/zoo.py,sha256=45l0gM3rMrGd_CTxA-OwULA7AOHjTx55_HMidorIjdc,3908
|
|
21
|
-
onnxtr/models/classification/models/__init__.py,sha256=rohbM6ZQslfYchi7feZwwh-sX3XXRUhgtEJQeurAytQ,24
|
|
22
|
-
onnxtr/models/classification/models/mobilenet.py,sha256=rgxkTpRUk_QtU2fAA-Qg3u6y0iWA-zFsmMmYVZRAWiw,4900
|
|
23
|
-
onnxtr/models/classification/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
24
|
-
onnxtr/models/classification/predictor/base.py,sha256=J-EckJM88S4V7f50ukMVgK0tCQEbRZTQ7d1p77x8lUg,2357
|
|
25
|
-
onnxtr/models/detection/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
26
|
-
onnxtr/models/detection/core.py,sha256=ZmVDHLJ1l4LQ8rFSKc7enXDkGcOWrcQv4H0SJWyLsag,3584
|
|
27
|
-
onnxtr/models/detection/zoo.py,sha256=5kz4l67Xkr4YTDoI2wDTiI6HSaB926zfua0SZU-Kaw8,2735
|
|
28
|
-
onnxtr/models/detection/_utils/__init__.py,sha256=oPkIYbySSbLsOk02wVPNO9bUuywC47YjaenfyTwfOsw,20
|
|
29
|
-
onnxtr/models/detection/_utils/base.py,sha256=fOWnvBKluWKTNXSBKg3U6ckzYuF7onEKQ4AvheuTJQk,2346
|
|
30
|
-
onnxtr/models/detection/models/__init__.py,sha256=6Ea6knYrVCR2jAmPlsVWmCdHe-c6lSRETSAuZGfhx8I,85
|
|
31
|
-
onnxtr/models/detection/models/differentiable_binarization.py,sha256=bJ_bkeDBweY_bfyzI681rx2BpE4BcgDZe49M1FPJJig,6736
|
|
32
|
-
onnxtr/models/detection/models/fast.py,sha256=VkwboSA7IHCXCnxUDwMTEbxXWdrpCM477PY8nO2tPOI,6294
|
|
33
|
-
onnxtr/models/detection/models/linknet.py,sha256=aVRkCVvMDO74izdCFZRPtub7AJkxZntpsqqFrxMr8ts,6772
|
|
34
|
-
onnxtr/models/detection/postprocessor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
onnxtr/models/detection/postprocessor/base.py,sha256=FIhSNktNLQjGWup3xEMaOCjKQmRvtt0h8M9IFQk_5jM,5823
|
|
36
|
-
onnxtr/models/detection/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
37
|
-
onnxtr/models/detection/predictor/base.py,sha256=bt8M6I14tWC9DYjrFrqg-AU5u670_uPpuC7LmcegcCQ,2328
|
|
38
|
-
onnxtr/models/factory/__init__.py,sha256=cKPoH2V2157lLMTR2zsljG3_IQHziodqR-XK_LG0D_I,19
|
|
39
|
-
onnxtr/models/factory/hub.py,sha256=Fk6pX9VJD422rnVgLh37o136T_0YAsQFzY2dQplDfa4,7176
|
|
40
|
-
onnxtr/models/predictor/__init__.py,sha256=XL25XkRkgyK7mldF-CWhg2MMakSdP5vLpDLwL59hphk,25
|
|
41
|
-
onnxtr/models/predictor/base.py,sha256=JnaOMy6pQh0ht2bc0koGqA9rBi_F6mHNyPYGcg0T7C8,9471
|
|
42
|
-
onnxtr/models/predictor/predictor.py,sha256=-ZQfPT70HKTfAP4etywSTy_W-pq5uPDHU00toHuWVcI,6431
|
|
43
|
-
onnxtr/models/preprocessor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
44
|
-
onnxtr/models/preprocessor/base.py,sha256=8ZCKsB-o9uRaUm0x4x9FYpYxLXpwHyq2nVv_TlRgaMw,3990
|
|
45
|
-
onnxtr/models/recognition/__init__.py,sha256=h1bZs55iLJBMATtzS4ntTKwfD6OGXBiiqGv_hEnOFnE,41
|
|
46
|
-
onnxtr/models/recognition/core.py,sha256=0Q1dVXqRcDUr_ycT5tpoSH9-zuDF58GtnmxWpUS8Ibo,739
|
|
47
|
-
onnxtr/models/recognition/utils.py,sha256=04abbjx-_OuF5iEANWIAOK3tQQl1tExPmBQx4IG04Lc,3569
|
|
48
|
-
onnxtr/models/recognition/zoo.py,sha256=144aDgOpieatiVB0FO-otCNOAKS13AedLk7PWt4Z02M,2521
|
|
49
|
-
onnxtr/models/recognition/models/__init__.py,sha256=IXfiuzzkft8O1CpBZWYTpFw19y49mt5rJ_iGSdaWiU0,105
|
|
50
|
-
onnxtr/models/recognition/models/crnn.py,sha256=rTMh_stR_4oKJKHKDCTEssQsXW56meYhWHahkaDPYpc,8965
|
|
51
|
-
onnxtr/models/recognition/models/master.py,sha256=UTsd2hSLrnTeafisVgdumAiJrpAeBm-WwYFI2ZEYERw,4778
|
|
52
|
-
onnxtr/models/recognition/models/parseq.py,sha256=nn-LsqQ_n1bmyE_QmVMgciillIkHlcpr8OFOunOQthQ,4579
|
|
53
|
-
onnxtr/models/recognition/models/sar.py,sha256=yEQ9_bH2kcjPr8iI-9Doq_Bm2SKhBCOeiRMv3IXp6mY,4590
|
|
54
|
-
onnxtr/models/recognition/models/vitstr.py,sha256=D9PR2N7IjhIh_YdPCSzlGRW91c3hrn2tCE_UTd89nxg,6055
|
|
55
|
-
onnxtr/models/recognition/predictor/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
56
|
-
onnxtr/models/recognition/predictor/_utils.py,sha256=ZNm5I7ibiWfTlz302uiifCkUOu65YWa-oUBUMPrrUuQ,3406
|
|
57
|
-
onnxtr/models/recognition/predictor/base.py,sha256=YvqSNEM3rCEttxl6hsC9zl1R97N9zO2WZfD5_-nfkR0,2483
|
|
58
|
-
onnxtr/transforms/__init__.py,sha256=ERmmOxz_9mUkIuccNbzUa5Y6gVLLVDdyc4cCxbCCUbY,20
|
|
59
|
-
onnxtr/transforms/base.py,sha256=sVQIIQLzPRl0Uc6OyDGrJ4H_f6CMune5j0C9VVRAV0s,3577
|
|
60
|
-
onnxtr/utils/__init__.py,sha256=pESRJKtcQyjRxiMgZPhtPYeLbCj-YSGyMVRHTbcMONU,94
|
|
61
|
-
onnxtr/utils/common_types.py,sha256=eC_NyIwbo9qVF33LiNPqHKfyabWq9mYEKD9gAloo5UU,601
|
|
62
|
-
onnxtr/utils/data.py,sha256=Dh0mgeHJhyPwmm63J90uDVmIYbrp63hh1_SnYLnpgJI,4354
|
|
63
|
-
onnxtr/utils/fonts.py,sha256=27v0cojgUrVxNF8Krb1FybSoykoxFy1XjG8lHRUuiEY,1353
|
|
64
|
-
onnxtr/utils/geometry.py,sha256=mYsxRYpMm-UtwmXTcbiSfe2j6-50ZSWAohTcfyi7aZU,20929
|
|
65
|
-
onnxtr/utils/multithreading.py,sha256=30T7AylM3rb52ZEI3Pk1pfB0VYraTbc7yO2vNODVVFY,2011
|
|
66
|
-
onnxtr/utils/reconstitution.py,sha256=Hx1_ddLevKLzuxXc19UelPdsGlAwqi4f6vRSYKHDUB4,2617
|
|
67
|
-
onnxtr/utils/repr.py,sha256=kfbjGL6KymGT8spo2UL4FJXZ0XRwa7CO7Y1dTVR8dIk,2129
|
|
68
|
-
onnxtr/utils/visualization.py,sha256=CX09qvDnNIw3BFW5F3jM4R9OcpLWAeZyoDyTAOGRvls,9925
|
|
69
|
-
onnxtr/utils/vocabs.py,sha256=KGGsSLjGl9YLbAYcVCloNR5OIwMKMUc4idpn08EqYYY,4160
|
|
70
|
-
onnxtr-0.5.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
71
|
-
onnxtr-0.5.0.dist-info/METADATA,sha256=uWZiVV7JRZfJTI1mn9y4jxq84AT8yYQt3zaZ27J4NS4,32726
|
|
72
|
-
onnxtr-0.5.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
73
|
-
onnxtr-0.5.0.dist-info/top_level.txt,sha256=r_MSUTpspp4pWEEWvly-s7ZkfCg1KwrK6-kBlXkWKU8,7
|
|
74
|
-
onnxtr-0.5.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
75
|
-
onnxtr-0.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|