deepdoctection 0.39.1__py3-none-any.whl → 0.39.3__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.
Potentially problematic release.
This version of deepdoctection might be problematic. Click here for more details.
- deepdoctection/__init__.py +1 -1
- deepdoctection/analyzer/_config.py +1 -0
- deepdoctection/analyzer/factory.py +5 -1
- deepdoctection/datapoint/image.py +18 -6
- deepdoctection/datapoint/view.py +29 -0
- deepdoctection/datasets/registry.py +5 -1
- deepdoctection/mapper/cats.py +4 -3
- deepdoctection/pipe/base.py +2 -3
- deepdoctection/pipe/common.py +1 -1
- deepdoctection/pipe/lm.py +5 -6
- deepdoctection/pipe/segment.py +8 -6
- deepdoctection/train/hf_layoutlm_train.py +1 -3
- {deepdoctection-0.39.1.dist-info → deepdoctection-0.39.3.dist-info}/METADATA +1 -1
- {deepdoctection-0.39.1.dist-info → deepdoctection-0.39.3.dist-info}/RECORD +17 -17
- {deepdoctection-0.39.1.dist-info → deepdoctection-0.39.3.dist-info}/WHEEL +1 -1
- {deepdoctection-0.39.1.dist-info → deepdoctection-0.39.3.dist-info}/LICENSE +0 -0
- {deepdoctection-0.39.1.dist-info → deepdoctection-0.39.3.dist-info}/top_level.txt +0 -0
deepdoctection/__init__.py
CHANGED
|
@@ -40,6 +40,7 @@ cfg.TF.CELL.FILTER = None
|
|
|
40
40
|
cfg.TF.ITEM.WEIGHTS = "item/model-1620000_inf_only.data-00000-of-00001"
|
|
41
41
|
cfg.TF.ITEM.FILTER = None
|
|
42
42
|
|
|
43
|
+
cfg.PT.ENFORCE_WEIGHTS = False
|
|
43
44
|
cfg.PT.LAYOUT.WEIGHTS = "layout/d2_model_0829999_layout_inf_only.pt"
|
|
44
45
|
cfg.PT.LAYOUT.WEIGHTS_TS = "layout/d2_model_0829999_layout_inf_only.ts"
|
|
45
46
|
cfg.PT.LAYOUT.FILTER = None
|
|
@@ -98,7 +98,11 @@ class ServiceFactory:
|
|
|
98
98
|
weights = (
|
|
99
99
|
getattr(config.TF, mode).WEIGHTS
|
|
100
100
|
if config.LIB == "TF"
|
|
101
|
-
else (
|
|
101
|
+
else (
|
|
102
|
+
getattr(config.PT, mode).WEIGHTS
|
|
103
|
+
if detectron2_available() or config.PT.ENFORCE_WEIGHTS
|
|
104
|
+
else getattr(config.PT, mode).WEIGHTS_TS
|
|
105
|
+
)
|
|
102
106
|
)
|
|
103
107
|
filter_categories = (
|
|
104
108
|
getattr(getattr(config.TF, mode), "FILTER")
|
|
@@ -702,11 +702,11 @@ class Image:
|
|
|
702
702
|
return get_uuid(self.image_id, *container_ids)
|
|
703
703
|
|
|
704
704
|
def save(
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
705
|
+
self,
|
|
706
|
+
image_to_json: bool = True,
|
|
707
|
+
highest_hierarchy_only: bool = False,
|
|
708
|
+
path: Optional[PathLikeOrStr] = None,
|
|
709
|
+
dry: bool = False,
|
|
710
710
|
) -> Optional[Union[ImageDict, str]]:
|
|
711
711
|
"""
|
|
712
712
|
Export image as dictionary. As numpy array cannot be serialized `image` values will be converted into
|
|
@@ -719,6 +719,18 @@ class Image:
|
|
|
719
719
|
|
|
720
720
|
:return: optional dict
|
|
721
721
|
"""
|
|
722
|
+
|
|
723
|
+
def set_image_keys_to_none(d): # type: ignore
|
|
724
|
+
if isinstance(d, dict):
|
|
725
|
+
for key, value in d.items():
|
|
726
|
+
if key == '_image':
|
|
727
|
+
d[key] = None
|
|
728
|
+
else:
|
|
729
|
+
set_image_keys_to_none(value)
|
|
730
|
+
elif isinstance(d, list):
|
|
731
|
+
for item in d:
|
|
732
|
+
set_image_keys_to_none(item)
|
|
733
|
+
|
|
722
734
|
if path is None:
|
|
723
735
|
path = Path(self.location)
|
|
724
736
|
path = Path(path)
|
|
@@ -734,7 +746,7 @@ class Image:
|
|
|
734
746
|
export_dict = self.as_dict()
|
|
735
747
|
export_dict["location"] = fspath(export_dict["location"])
|
|
736
748
|
if not image_to_json:
|
|
737
|
-
export_dict
|
|
749
|
+
set_image_keys_to_none(export_dict)
|
|
738
750
|
if dry:
|
|
739
751
|
return export_dict
|
|
740
752
|
with open(path_json, "w", encoding="UTF-8") as file:
|
deepdoctection/datapoint/view.py
CHANGED
|
@@ -407,6 +407,35 @@ class Table(Layout):
|
|
|
407
407
|
col_anns = self.base_page.get_annotation(annotation_ids=all_relation_ids, category_names=[LayoutType.COLUMN])
|
|
408
408
|
return col_anns
|
|
409
409
|
|
|
410
|
+
def row(self, row_number: int) -> list[ImageAnnotationBaseView]:
|
|
411
|
+
"""
|
|
412
|
+
Get a list of cells in a row.
|
|
413
|
+
"""
|
|
414
|
+
all_relation_ids = self.get_relationship(Relationships.CHILD)
|
|
415
|
+
all_cells = self.base_page.get_annotation(
|
|
416
|
+
category_names=[LayoutType.CELL, CellType.SPANNING], annotation_ids=all_relation_ids
|
|
417
|
+
)
|
|
418
|
+
row_cells = list(
|
|
419
|
+
filter(lambda c: row_number in (c.row_number, c.row_number + c.row_span - 1), all_cells) # type: ignore
|
|
420
|
+
)
|
|
421
|
+
row_cells.sort(key=lambda c: c.column_number) # type: ignore
|
|
422
|
+
return row_cells # type: ignore
|
|
423
|
+
|
|
424
|
+
def column(self, column_number: int) -> list[ImageAnnotationBaseView]:
|
|
425
|
+
"""
|
|
426
|
+
Get a list of cells in a column.
|
|
427
|
+
"""
|
|
428
|
+
all_relation_ids = self.get_relationship(Relationships.CHILD)
|
|
429
|
+
all_cells = self.base_page.get_annotation(
|
|
430
|
+
category_names=[LayoutType.CELL, CellType.SPANNING], annotation_ids=all_relation_ids
|
|
431
|
+
)
|
|
432
|
+
column_cells = list(
|
|
433
|
+
filter(lambda c: column_number in # type: ignore
|
|
434
|
+
(c.column_number, c.column_number + c.column_span - 1), all_cells) # type: ignore
|
|
435
|
+
)
|
|
436
|
+
column_cells.sort(key=lambda c: c.row_number) # type: ignore
|
|
437
|
+
return column_cells # type: ignore
|
|
438
|
+
|
|
410
439
|
@property
|
|
411
440
|
def html(self) -> HTML:
|
|
412
441
|
"""
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"""
|
|
19
19
|
Module for DatasetRegistry
|
|
20
20
|
"""
|
|
21
|
+
import inspect
|
|
21
22
|
|
|
22
23
|
import catalogue # type: ignore
|
|
23
24
|
from tabulate import tabulate
|
|
@@ -47,7 +48,10 @@ def get_dataset(name: str) -> DatasetBase:
|
|
|
47
48
|
:param name: A dataset name
|
|
48
49
|
:return: An instance of a dataset
|
|
49
50
|
"""
|
|
50
|
-
|
|
51
|
+
ds = dataset_registry.get(name)
|
|
52
|
+
if inspect.isclass(ds):
|
|
53
|
+
return ds()
|
|
54
|
+
return ds
|
|
51
55
|
|
|
52
56
|
|
|
53
57
|
def print_dataset_infos(add_license: bool = True, add_info: bool = True) -> None:
|
deepdoctection/mapper/cats.py
CHANGED
|
@@ -32,7 +32,7 @@ from .maputils import LabelSummarizer, curry
|
|
|
32
32
|
@curry
|
|
33
33
|
def cat_to_sub_cat(
|
|
34
34
|
dp: Image,
|
|
35
|
-
categories_dict_names_as_key: dict[TypeOrStr, int],
|
|
35
|
+
categories_dict_names_as_key: Optional[dict[TypeOrStr, int]] = None,
|
|
36
36
|
cat_to_sub_cat_dict: Optional[dict[TypeOrStr, TypeOrStr]] = None,
|
|
37
37
|
) -> Image:
|
|
38
38
|
"""
|
|
@@ -45,7 +45,8 @@ def cat_to_sub_cat(
|
|
|
45
45
|
:param cat_to_sub_cat_dict: e.g. {'foo': 'sub_cat_1', 'bak': 'sub_cat_2'}
|
|
46
46
|
:return: Image with updated Annotations
|
|
47
47
|
"""
|
|
48
|
-
|
|
48
|
+
if categories_dict_names_as_key is None:
|
|
49
|
+
categories_dict_names_as_key = {}
|
|
49
50
|
if cat_to_sub_cat_dict is None:
|
|
50
51
|
return dp
|
|
51
52
|
cat_to_sub_cat_dict_obj_type = {get_type(key): get_type(value) for key, value in cat_to_sub_cat_dict.items()}
|
|
@@ -54,7 +55,7 @@ def cat_to_sub_cat(
|
|
|
54
55
|
sub_cat = ann.get_sub_category(sub_cat_type)
|
|
55
56
|
if sub_cat:
|
|
56
57
|
ann.category_name = sub_cat.category_name
|
|
57
|
-
ann.category_id = categories_dict_names_as_key
|
|
58
|
+
ann.category_id = categories_dict_names_as_key.get(ann.category_name,DEFAULT_CATEGORY_ID)
|
|
58
59
|
|
|
59
60
|
return dp
|
|
60
61
|
|
deepdoctection/pipe/base.py
CHANGED
|
@@ -24,7 +24,7 @@ from __future__ import annotations
|
|
|
24
24
|
from abc import ABC, abstractmethod
|
|
25
25
|
from collections import defaultdict
|
|
26
26
|
from dataclasses import dataclass, field
|
|
27
|
-
from typing import Any, Mapping, Optional, Union
|
|
27
|
+
from typing import Any, Callable, Mapping, Optional, Union
|
|
28
28
|
from uuid import uuid1
|
|
29
29
|
|
|
30
30
|
from ..dataflow import DataFlow, MapData
|
|
@@ -100,7 +100,7 @@ class PipelineComponent(ABC):
|
|
|
100
100
|
|
|
101
101
|
:param filter_func: A function that takes an image datapoint and returns a boolean value
|
|
102
102
|
"""
|
|
103
|
-
self.filter_func = filter_func
|
|
103
|
+
self.filter_func = filter_func # type: ignore
|
|
104
104
|
|
|
105
105
|
@abstractmethod
|
|
106
106
|
def serve(self, dp: Image) -> None:
|
|
@@ -122,7 +122,6 @@ class PipelineComponent(ABC):
|
|
|
122
122
|
if not self.filter_func(dp):
|
|
123
123
|
self.serve(dp)
|
|
124
124
|
|
|
125
|
-
|
|
126
125
|
def pass_datapoint(self, dp: Image) -> Image:
|
|
127
126
|
"""
|
|
128
127
|
Acceptance, handover to dp_manager, transformation and forwarding of dp. To measure the time, use
|
deepdoctection/pipe/common.py
CHANGED
|
@@ -362,7 +362,7 @@ class AnnotationNmsService(PipelineComponent):
|
|
|
362
362
|
self.threshold = [thresholds for _ in self.nms_pairs]
|
|
363
363
|
else:
|
|
364
364
|
assert len(self.nms_pairs) == len(thresholds), "Sequences of nms_pairs and thresholds must have same length"
|
|
365
|
-
self.threshold = thresholds
|
|
365
|
+
self.threshold = thresholds # type: ignore
|
|
366
366
|
if priority:
|
|
367
367
|
assert len(self.nms_pairs) == len(priority), "Sequences of nms_pairs and priority must have same length"
|
|
368
368
|
|
deepdoctection/pipe/lm.py
CHANGED
|
@@ -265,7 +265,7 @@ class LMSequenceClassifierService(PipelineComponent):
|
|
|
265
265
|
padding: Literal["max_length", "do_not_pad", "longest"] = "max_length",
|
|
266
266
|
truncation: bool = True,
|
|
267
267
|
return_overflowing_tokens: bool = False,
|
|
268
|
-
use_other_as_default_category: bool = False
|
|
268
|
+
use_other_as_default_category: bool = False,
|
|
269
269
|
) -> None:
|
|
270
270
|
"""
|
|
271
271
|
:param tokenizer: Tokenizer, typing allows currently anything. This will be changed in the future
|
|
@@ -309,11 +309,10 @@ class LMSequenceClassifierService(PipelineComponent):
|
|
|
309
309
|
lm_output = None
|
|
310
310
|
if lm_input is None:
|
|
311
311
|
if self.use_other_as_default_category:
|
|
312
|
-
class_id = self.language_model.categories.get_categories(as_dict=True,
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
score=-1.)
|
|
312
|
+
class_id = self.language_model.categories.get_categories(as_dict=True, name_as_key=True).get(
|
|
313
|
+
TokenClasses.OTHER, 1
|
|
314
|
+
)
|
|
315
|
+
lm_output = SequenceClassResult(class_name=TokenClasses.OTHER, class_id=class_id, score=-1.0)
|
|
317
316
|
else:
|
|
318
317
|
lm_output = self.language_model.predict(**lm_input)
|
|
319
318
|
if lm_output:
|
deepdoctection/pipe/segment.py
CHANGED
|
@@ -1190,14 +1190,16 @@ class PubtablesSegmentationService(PipelineComponent):
|
|
|
1190
1190
|
for key, value in cell_rn_cn_to_ann_id.items():
|
|
1191
1191
|
if key[idx] == item_number:
|
|
1192
1192
|
cell_ann = dp.get_annotation(annotation_ids=value)[0]
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1193
|
+
if item_header_cell_name not in cell_ann.sub_categories:
|
|
1194
|
+
self.dp_manager.set_category_annotation(
|
|
1195
|
+
item_header_cell_name, None, item_header_cell_name, cell_ann.annotation_id
|
|
1196
|
+
)
|
|
1196
1197
|
else:
|
|
1197
1198
|
cell_ann = dp.get_annotation(annotation_ids=value)[0]
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1199
|
+
if CellType.BODY not in cell_ann.sub_categories:
|
|
1200
|
+
self.dp_manager.set_category_annotation(
|
|
1201
|
+
item_header_cell_name, None, CellType.BODY, cell_ann.annotation_id
|
|
1202
|
+
)
|
|
1201
1203
|
|
|
1202
1204
|
# TODO: the summaries should be sub categories of the underlying ann
|
|
1203
1205
|
self.dp_manager.set_summary_annotation(
|
|
@@ -499,9 +499,7 @@ def train_hf_layoutlm(
|
|
|
499
499
|
)
|
|
500
500
|
pipeline_component_cls = pipeline_component_registry.get(pipeline_component_name)
|
|
501
501
|
if dataset_type == DatasetType.SEQUENCE_CLASSIFICATION:
|
|
502
|
-
pipeline_component = pipeline_component_cls(tokenizer_fast,
|
|
503
|
-
dd_model,
|
|
504
|
-
use_other_as_default_category=True)
|
|
502
|
+
pipeline_component = pipeline_component_cls(tokenizer_fast, dd_model, use_other_as_default_category=True)
|
|
505
503
|
else:
|
|
506
504
|
pipeline_component = pipeline_component_cls(
|
|
507
505
|
tokenizer_fast,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
deepdoctection/__init__.py,sha256=
|
|
1
|
+
deepdoctection/__init__.py,sha256=ESGz9jn4mQi0T_Il2gIS6CArPLUrfANzgIQLHwyw8eE,12754
|
|
2
2
|
deepdoctection/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
deepdoctection/analyzer/__init__.py,sha256=icClxrd20XutD6LxLgEPIWceSs4j_QfI3szCE-9BL2w,729
|
|
4
|
-
deepdoctection/analyzer/_config.py,sha256=
|
|
4
|
+
deepdoctection/analyzer/_config.py,sha256=1rfvVrp7cI2YLzpahD77aa1tZ_KFAIQ21DM1NWhxYiI,5058
|
|
5
5
|
deepdoctection/analyzer/dd.py,sha256=bfR7e1JV7BwUNDRLu0jYZU7qQXnyA_vbRAJl2Ylrq5o,5905
|
|
6
|
-
deepdoctection/analyzer/factory.py,sha256=
|
|
6
|
+
deepdoctection/analyzer/factory.py,sha256=7L-bJ9957TBn_C6OGWJFmZobrh8MPq4Q-Espx5faEiY,32435
|
|
7
7
|
deepdoctection/configs/__init__.py,sha256=TX_P6tqDOF1LK1mi9ruAl7x0mtv1Asm8cYWCz3Pe2dk,646
|
|
8
8
|
deepdoctection/configs/conf_dd_one.yaml,sha256=qnrDAST1PHBtdIKE_hdkZexW22FqVvNTI-PEo9wvinM,3025
|
|
9
9
|
deepdoctection/configs/conf_tesseract.yaml,sha256=oF6szDyoi15FHvq7yFUNIEjfA_jNLhGxoowiRsz_zY4,35
|
|
@@ -19,14 +19,14 @@ deepdoctection/datapoint/__init__.py,sha256=3K406GbOPhoEp8koVaSbMocmSsmWifnSZ1SP
|
|
|
19
19
|
deepdoctection/datapoint/annotation.py,sha256=FEgz4COxVDfjic0gG7kS6iHnWLBIgFnquQ63Cbj2a4Y,22531
|
|
20
20
|
deepdoctection/datapoint/box.py,sha256=UAdSnLexvFyg4KK1u9kXdJxhaWTwRxTU-cnQcvl37Q8,23410
|
|
21
21
|
deepdoctection/datapoint/convert.py,sha256=gJbHY2V8nlMht1N5VdxTmWSsOeydpFPTJsaJHp6XGgE,7516
|
|
22
|
-
deepdoctection/datapoint/image.py,sha256=
|
|
23
|
-
deepdoctection/datapoint/view.py,sha256=
|
|
22
|
+
deepdoctection/datapoint/image.py,sha256=dImZfJr72jS8yanZx1n70p4lIv0Qa21-qlUcj0DZcls,34060
|
|
23
|
+
deepdoctection/datapoint/view.py,sha256=XPyhbBr2cGIKdAiISBVZWxNxlSvN8kmGsD9P0mfpEEE,50772
|
|
24
24
|
deepdoctection/datasets/__init__.py,sha256=-A3aR90aDsHPmVM35JavfnQ2itYSCn3ujl4krRni1QU,1076
|
|
25
25
|
deepdoctection/datasets/adapter.py,sha256=Ly_vbOAgVI73V41FUccnSX1ECTOyesW_qsuvQuvOZbw,7796
|
|
26
26
|
deepdoctection/datasets/base.py,sha256=DT4i-d74sIEiUNC6UspIHNJuHSK0t1dBv7qwadg4rLw,22341
|
|
27
27
|
deepdoctection/datasets/dataflow_builder.py,sha256=cYU2zV3gZW2bFvMHimlO9VIl3BAUaCwML08cCIQ8Em4,4107
|
|
28
28
|
deepdoctection/datasets/info.py,sha256=6y5TfiUhQppynbMFP5JmUPk95ggsVCtGIw4dYh2lVus,20501
|
|
29
|
-
deepdoctection/datasets/registry.py,sha256=
|
|
29
|
+
deepdoctection/datasets/registry.py,sha256=tvzMUk34ZD3AsedS1DFfYATYLxm-7bn2-8J1AJiXGKM,2616
|
|
30
30
|
deepdoctection/datasets/save.py,sha256=Y9508Qqp8gIGN7pbGgVBBnkiC6NdCb9L2YR4wVvEUxM,3350
|
|
31
31
|
deepdoctection/datasets/instances/__init__.py,sha256=XEc_4vT5lDn6bbZID9ujDEumWu8Ec2W-QS4pI_bfWWE,1388
|
|
32
32
|
deepdoctection/datasets/instances/doclaynet.py,sha256=wRZT7wMTilZBLZ1gKY2cWReD1EGT735vOOTy0pD0N6M,12038
|
|
@@ -88,7 +88,7 @@ deepdoctection/extern/tp/tpfrcnn/utils/__init__.py,sha256=kiPlXxHlTGN9eI7YE9Bgwt
|
|
|
88
88
|
deepdoctection/extern/tp/tpfrcnn/utils/box_ops.py,sha256=aBLqPg_ApaiimtBRaOsLKTZZFIBh87vVtqjLPMaX9fQ,2379
|
|
89
89
|
deepdoctection/extern/tp/tpfrcnn/utils/np_box_ops.py,sha256=O-q1GQiOEd1lN1MQDsJvHwD2OmBO-qHNeqJ1Qnec93g,3539
|
|
90
90
|
deepdoctection/mapper/__init__.py,sha256=Xqb34aCjslZDQnqQgCSvnloL5DbdT9eHhn-StpVPbzE,1130
|
|
91
|
-
deepdoctection/mapper/cats.py,sha256=
|
|
91
|
+
deepdoctection/mapper/cats.py,sha256=Go9k9wiSid1aSPSteTCE0AgQ1tZmOA8pfOPkhKSQhhg,16601
|
|
92
92
|
deepdoctection/mapper/cocostruct.py,sha256=GcbUpPFUg67pcOHQluWBFOFcGaYnlZcTmwBDERBVgCA,5978
|
|
93
93
|
deepdoctection/mapper/d2struct.py,sha256=Dx-YnycsIQH4a5-9Gn_yMhiQ-gOFgMueNeH3rhXjuCU,8555
|
|
94
94
|
deepdoctection/mapper/hfstruct.py,sha256=2PjGKsYturVJBimLT1CahYh09KSRAFEHz_QNtC162kQ,5551
|
|
@@ -103,24 +103,24 @@ deepdoctection/mapper/tpstruct.py,sha256=YNABRibvcISD5Lavg3jouoE4FMdqXEJoM-hNoB_
|
|
|
103
103
|
deepdoctection/mapper/xfundstruct.py,sha256=_3r3c0K82fnF2h1HxA85h-9ETYrHwcERa6MNc6Ko6Z8,8807
|
|
104
104
|
deepdoctection/pipe/__init__.py,sha256=ywTVoetftdL6plXg2YlBzMfmqBZupq7yXblSVyvvkcQ,1127
|
|
105
105
|
deepdoctection/pipe/anngen.py,sha256=3319l4aaXzcY4w6ItVBNPX8LGS5fHFDVtyVY9KMefac,16393
|
|
106
|
-
deepdoctection/pipe/base.py,sha256=
|
|
107
|
-
deepdoctection/pipe/common.py,sha256=
|
|
106
|
+
deepdoctection/pipe/base.py,sha256=wlza9aDOKnHKrXmaz8MLyLz0nMqqcIWQ-6Lu944aicE,15390
|
|
107
|
+
deepdoctection/pipe/common.py,sha256=C1KxEfJFSPeDqlnkiJ1ZYPuA36P8BU_4jVhdsszW_V8,17752
|
|
108
108
|
deepdoctection/pipe/concurrency.py,sha256=AAKRsVgaBEYNluntbDa46SBF1JZ_XqnWLDSWrNvAzEo,9657
|
|
109
109
|
deepdoctection/pipe/doctectionpipe.py,sha256=bGW3ugky-fb-nEe-3bvO6Oc_4_6w82cQboGM_6p2eIo,12530
|
|
110
110
|
deepdoctection/pipe/language.py,sha256=5zI0UQC6Fh12_r2pfVL42HoCGz2hpHrOhpXAn5m-rYw,5451
|
|
111
111
|
deepdoctection/pipe/layout.py,sha256=xIhnJpyUSbvLbhTXyAKXY1hmG9352jihGYFSclTH_1g,5567
|
|
112
|
-
deepdoctection/pipe/lm.py,sha256=
|
|
112
|
+
deepdoctection/pipe/lm.py,sha256=x9NoYpivdjQF1r76a7PPrUuBEmuHP7ZukuXFDkXhXBc,17572
|
|
113
113
|
deepdoctection/pipe/order.py,sha256=PnJZiCnxFluJiECXLTZT0c1Rr66vIRBFraa_G41UA2k,40121
|
|
114
114
|
deepdoctection/pipe/refine.py,sha256=dTfI396xydPdbzpfo4yqFcuxl3UAB1y-WbSQn1o76ec,22367
|
|
115
115
|
deepdoctection/pipe/registry.py,sha256=aFx-Tn0xhVA5l5H18duNW5QoTNKQltybsEUEzsMgUfg,902
|
|
116
|
-
deepdoctection/pipe/segment.py,sha256=
|
|
116
|
+
deepdoctection/pipe/segment.py,sha256=mWYRg7UR80PtIj1SIg_hiujDcCtLlvKJUP9vx4ZpW0Y,59318
|
|
117
117
|
deepdoctection/pipe/sub_layout.py,sha256=N1RcID-boORcwsW_j0l64HpUu3rff0ge5qEanudLYgk,13838
|
|
118
118
|
deepdoctection/pipe/text.py,sha256=h9q6d3HFOs7LOg-iwdLUPiQxrPqgunBVNmtYMBrfRQE,11180
|
|
119
119
|
deepdoctection/pipe/transform.py,sha256=9Om7X7hJeL4jgUwHM1CHa4sb5v7Qo1PtVG0ls_3nI7w,3798
|
|
120
120
|
deepdoctection/train/__init__.py,sha256=YFTRAZF1F7cEAKTdAIi1BLyYb6rSRcwq09Ui5Lu8d6E,1071
|
|
121
121
|
deepdoctection/train/d2_frcnn_train.py,sha256=sFc_G-mEpaM8d1CCE0_6Gl4nBh11X2RYRBA3p_ylFJQ,16000
|
|
122
122
|
deepdoctection/train/hf_detr_train.py,sha256=eHSdI11U8oGy93noZxAISfukhRBElj4dBerJ4Xcercw,10785
|
|
123
|
-
deepdoctection/train/hf_layoutlm_train.py,sha256=
|
|
123
|
+
deepdoctection/train/hf_layoutlm_train.py,sha256=DTPJZYKeDdRtDpcObYh93uh5D4sgT4c0ckHiAknCroY,22568
|
|
124
124
|
deepdoctection/train/tp_frcnn_train.py,sha256=pEpXokSVGveqo82pRnhnAmHPmjQ_8wQWpqM4ZyNHJgs,13049
|
|
125
125
|
deepdoctection/utils/__init__.py,sha256=brBceRWeov9WXMiJTjyJOF2rHMP8trGGRRjhMdZ61nI,2371
|
|
126
126
|
deepdoctection/utils/concurrency.py,sha256=nIhpkSncmv0LBB8PtcOLY-BsRGlfcDpz7foVdgzZd20,4598
|
|
@@ -141,8 +141,8 @@ deepdoctection/utils/transform.py,sha256=3kCgsEeRkG1efCdkfvj7tUFMs-e2jbjbflq826F
|
|
|
141
141
|
deepdoctection/utils/types.py,sha256=_3dmPdCIZNLbgU5QP5k_c5phDf18xLe1kYL6t2nM45s,2953
|
|
142
142
|
deepdoctection/utils/utils.py,sha256=csVs_VvCq4QBETPoE2JdTTL4MFYnD4xh-Js5vRb612g,6492
|
|
143
143
|
deepdoctection/utils/viz.py,sha256=Jf8ePNYWlpuyaS6SeTYQ4OyA3eNhtgjvAQZnGNdgHC0,27051
|
|
144
|
-
deepdoctection-0.39.
|
|
145
|
-
deepdoctection-0.39.
|
|
146
|
-
deepdoctection-0.39.
|
|
147
|
-
deepdoctection-0.39.
|
|
148
|
-
deepdoctection-0.39.
|
|
144
|
+
deepdoctection-0.39.3.dist-info/LICENSE,sha256=GQ0rUvuGdrMNEI3iHK5UQx6dIMU1QwAuyXsxUHn5MEQ,11351
|
|
145
|
+
deepdoctection-0.39.3.dist-info/METADATA,sha256=CCHsl3E3U1slBqAfbxiGChEDfDH8rJRRGmLhz56LuLc,19741
|
|
146
|
+
deepdoctection-0.39.3.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
|
147
|
+
deepdoctection-0.39.3.dist-info/top_level.txt,sha256=hs2DdoOL9h4mnHhmO82BT4pz4QATIoOZ20PZmlnxFI8,15
|
|
148
|
+
deepdoctection-0.39.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|