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.
Files changed (56) hide show
  1. onnxtr/contrib/__init__.py +1 -0
  2. onnxtr/contrib/artefacts.py +6 -8
  3. onnxtr/contrib/base.py +7 -16
  4. onnxtr/file_utils.py +1 -3
  5. onnxtr/io/elements.py +54 -60
  6. onnxtr/io/html.py +0 -2
  7. onnxtr/io/image.py +1 -4
  8. onnxtr/io/pdf.py +3 -5
  9. onnxtr/io/reader.py +4 -10
  10. onnxtr/models/_utils.py +10 -17
  11. onnxtr/models/builder.py +17 -30
  12. onnxtr/models/classification/models/mobilenet.py +7 -12
  13. onnxtr/models/classification/predictor/base.py +6 -7
  14. onnxtr/models/classification/zoo.py +25 -11
  15. onnxtr/models/detection/_utils/base.py +3 -7
  16. onnxtr/models/detection/core.py +2 -8
  17. onnxtr/models/detection/models/differentiable_binarization.py +10 -17
  18. onnxtr/models/detection/models/fast.py +10 -17
  19. onnxtr/models/detection/models/linknet.py +10 -17
  20. onnxtr/models/detection/postprocessor/base.py +3 -9
  21. onnxtr/models/detection/predictor/base.py +4 -5
  22. onnxtr/models/detection/zoo.py +20 -6
  23. onnxtr/models/engine.py +9 -9
  24. onnxtr/models/factory/hub.py +3 -7
  25. onnxtr/models/predictor/base.py +29 -30
  26. onnxtr/models/predictor/predictor.py +4 -5
  27. onnxtr/models/preprocessor/base.py +8 -12
  28. onnxtr/models/recognition/core.py +0 -1
  29. onnxtr/models/recognition/models/crnn.py +11 -23
  30. onnxtr/models/recognition/models/master.py +9 -15
  31. onnxtr/models/recognition/models/parseq.py +8 -12
  32. onnxtr/models/recognition/models/sar.py +8 -12
  33. onnxtr/models/recognition/models/vitstr.py +9 -15
  34. onnxtr/models/recognition/predictor/_utils.py +6 -9
  35. onnxtr/models/recognition/predictor/base.py +3 -3
  36. onnxtr/models/recognition/utils.py +2 -7
  37. onnxtr/models/recognition/zoo.py +19 -7
  38. onnxtr/models/zoo.py +7 -9
  39. onnxtr/transforms/base.py +17 -6
  40. onnxtr/utils/common_types.py +7 -8
  41. onnxtr/utils/data.py +7 -11
  42. onnxtr/utils/fonts.py +1 -6
  43. onnxtr/utils/geometry.py +18 -49
  44. onnxtr/utils/multithreading.py +3 -5
  45. onnxtr/utils/reconstitution.py +139 -38
  46. onnxtr/utils/repr.py +1 -2
  47. onnxtr/utils/visualization.py +12 -21
  48. onnxtr/utils/vocabs.py +1 -2
  49. onnxtr/version.py +1 -1
  50. {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/METADATA +71 -41
  51. onnxtr-0.6.0.dist-info/RECORD +75 -0
  52. {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/WHEEL +1 -1
  53. onnxtr-0.5.0.dist-info/RECORD +0 -75
  54. {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/LICENSE +0 -0
  55. {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/top_level.txt +0 -0
  56. {onnxtr-0.5.0.dist-info → onnxtr-0.6.0.dist-info}/zip-safe +0 -0
@@ -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, Dict, List, Optional, Tuple, Union
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: Tuple[int, int],
23
- label: Optional[str] = None,
24
- color: Tuple[float, float, float] = (0, 0, 0),
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: Tuple[int, int],
74
- label: Optional[str] = None,
75
- color: Tuple[float, float, float] = (0, 0, 0),
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: Union[BoundingBox, Polygon4P, np.ndarray],
118
- page_dimensions: Tuple[int, int],
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: Dict[str, Any],
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: List[patches.Patch] = [] # instantiate an empty list of patches (to be drawn on the page)
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: Optional[Tuple[int, int, int]] = None, **kwargs) -> None:
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: Dict[str, str] = {
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.5.0'
1
+ __version__ = 'v0.6.0'
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: onnxtr
3
- Version: 0.5.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: Apache 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.9.0
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.11.0; extra == "cpu"
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.11.0; extra == "cpu-headless"
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.11.0; extra == "dev"
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
  [![codecov](https://codecov.io/gh/felixdittrich92/OnnxTR/graph/badge.svg?token=WVFRCQBOLI)](https://codecov.io/gh/felixdittrich92/OnnxTR)
285
291
  [![Codacy Badge](https://app.codacy.com/project/badge/Grade/4fff4d764bb14fb8b4f4afeb9587231b)](https://app.codacy.com/gh/felixdittrich92/OnnxTR/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
286
292
  [![CodeFactor](https://www.codefactor.io/repository/github/felixdittrich92/onnxtr/badge)](https://www.codefactor.io/repository/github/felixdittrich92/onnxtr)
287
- [![Pypi](https://img.shields.io/badge/pypi-v0.5.0-blue.svg)](https://pypi.org/project/OnnxTR/)
293
+ [![Pypi](https://img.shields.io/badge/pypi-v0.6.0-blue.svg)](https://pypi.org/project/OnnxTR/)
294
+ [![Docker Images](https://img.shields.io/badge/Docker-4287f5?style=flat&logo=docker&logoColor=white)](https://github.com/felixdittrich92/OnnxTR/pkgs/container/onnxtr)
295
+ [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](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.9 (or higher) and [pip](https://pip.pypa.io/en/stable/) are required to install OnnxTR.
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
- For GPU support please take a look at: [ONNX Runtime](https://onnxruntime.ai/getting-started). Currently supported execution providers by default are: CPU, CUDA
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 |FUNSD (199 pages) |CORD (900 pages) |
603
- |---------------------------------|-------------------------------|-------------------------------|
604
- |docTR (CPU) - v0.8.1 | ~1.29s / Page | ~0.60s / Page |
605
- |**OnnxTR (CPU)** - v0.4.1 | ~0.57s / Page | **~0.25s / Page** |
606
- |**OnnxTR (CPU) 8-bit** - v0.4.1 | **~0.38s / Page** | **~0.14s / Page** |
607
- |EasyOCR (CPU) - v1.7.1 | ~1.96s / Page | ~1.75s / Page |
608
- |**PyTesseract (CPU)** - v0.3.10 | **~0.50s / Page** | ~0.52s / Page |
609
- |Surya (line) (CPU) - v0.4.4 | ~48.76s / Page | ~35.49s / Page |
610
- |PaddleOCR (CPU) - no cls - v2.7.3| ~1.27s / Page | ~0.38s / Page |
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.4.1 | **~0.06s / Page** | ~0.04s / Page |
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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,,