paddlex 3.0.0rc1__py3-none-any.whl → 3.0.2__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.
- paddlex/.version +1 -1
- paddlex/__init__.py +1 -1
- paddlex/configs/modules/chart_parsing/PP-Chart2Table.yaml +13 -0
- paddlex/configs/modules/doc_vlm/PP-DocBee2-3B.yaml +14 -0
- paddlex/configs/modules/formula_recognition/PP-FormulaNet_plus-L.yaml +40 -0
- paddlex/configs/modules/formula_recognition/PP-FormulaNet_plus-M.yaml +40 -0
- paddlex/configs/modules/formula_recognition/PP-FormulaNet_plus-S.yaml +40 -0
- paddlex/configs/modules/layout_detection/PP-DocBlockLayout.yaml +40 -0
- paddlex/configs/modules/layout_detection/PP-DocLayout-L.yaml +2 -2
- paddlex/configs/modules/layout_detection/PP-DocLayout-M.yaml +2 -2
- paddlex/configs/modules/layout_detection/PP-DocLayout-S.yaml +2 -2
- paddlex/configs/modules/layout_detection/PP-DocLayout_plus-L.yaml +40 -0
- paddlex/configs/modules/text_detection/PP-OCRv5_mobile_det.yaml +40 -0
- paddlex/configs/modules/text_detection/PP-OCRv5_server_det.yaml +40 -0
- paddlex/configs/modules/text_recognition/PP-OCRv5_mobile_rec.yaml +39 -0
- paddlex/configs/modules/text_recognition/PP-OCRv5_server_rec.yaml +39 -0
- paddlex/configs/modules/textline_orientation/PP-LCNet_x1_0_textline_ori.yaml +41 -0
- paddlex/configs/pipelines/OCR.yaml +7 -6
- paddlex/configs/pipelines/PP-ChatOCRv3-doc.yaml +3 -1
- paddlex/configs/pipelines/PP-ChatOCRv4-doc.yaml +91 -34
- paddlex/configs/pipelines/PP-StructureV3.yaml +72 -72
- paddlex/configs/pipelines/doc_understanding.yaml +1 -1
- paddlex/configs/pipelines/formula_recognition.yaml +2 -2
- paddlex/configs/pipelines/layout_parsing.yaml +3 -2
- paddlex/configs/pipelines/seal_recognition.yaml +1 -0
- paddlex/configs/pipelines/table_recognition.yaml +2 -1
- paddlex/configs/pipelines/table_recognition_v2.yaml +7 -1
- paddlex/hpip_links.html +20 -20
- paddlex/inference/common/batch_sampler/doc_vlm_batch_sampler.py +33 -10
- paddlex/inference/common/batch_sampler/image_batch_sampler.py +34 -25
- paddlex/inference/common/result/mixin.py +19 -12
- paddlex/inference/models/base/predictor/base_predictor.py +2 -8
- paddlex/inference/models/common/static_infer.py +29 -73
- paddlex/inference/models/common/tokenizer/__init__.py +2 -0
- paddlex/inference/models/common/tokenizer/clip_tokenizer.py +1 -1
- paddlex/inference/models/common/tokenizer/gpt_tokenizer.py +2 -2
- paddlex/inference/models/common/tokenizer/qwen2_5_tokenizer.py +112 -0
- paddlex/inference/models/common/tokenizer/qwen2_tokenizer.py +7 -1
- paddlex/inference/models/common/tokenizer/qwen_tokenizer.py +288 -0
- paddlex/inference/models/common/tokenizer/tokenizer_utils.py +13 -13
- paddlex/inference/models/common/tokenizer/tokenizer_utils_base.py +3 -3
- paddlex/inference/models/common/tokenizer/vocab.py +7 -7
- paddlex/inference/models/common/ts/funcs.py +19 -8
- paddlex/inference/models/common/vlm/conversion_utils.py +99 -0
- paddlex/inference/models/common/vlm/fusion_ops.py +205 -0
- paddlex/inference/models/common/vlm/generation/configuration_utils.py +1 -1
- paddlex/inference/models/common/vlm/generation/logits_process.py +1 -1
- paddlex/inference/models/common/vlm/generation/utils.py +1 -1
- paddlex/inference/models/common/vlm/transformers/configuration_utils.py +3 -3
- paddlex/inference/models/common/vlm/transformers/conversion_utils.py +3 -3
- paddlex/inference/models/common/vlm/transformers/model_outputs.py +2 -2
- paddlex/inference/models/common/vlm/transformers/model_utils.py +7 -31
- paddlex/inference/models/doc_vlm/modeling/GOT_ocr_2_0.py +830 -0
- paddlex/inference/models/doc_vlm/modeling/__init__.py +2 -0
- paddlex/inference/models/doc_vlm/modeling/qwen2.py +1606 -0
- paddlex/inference/models/doc_vlm/modeling/qwen2_5_vl.py +3006 -0
- paddlex/inference/models/doc_vlm/modeling/qwen2_vl.py +0 -105
- paddlex/inference/models/doc_vlm/predictor.py +79 -24
- paddlex/inference/models/doc_vlm/processors/GOT_ocr_2_0.py +97 -0
- paddlex/inference/models/doc_vlm/processors/__init__.py +2 -0
- paddlex/inference/models/doc_vlm/processors/common.py +189 -0
- paddlex/inference/models/doc_vlm/processors/qwen2_5_vl.py +548 -0
- paddlex/inference/models/doc_vlm/processors/qwen2_vl.py +21 -176
- paddlex/inference/models/formula_recognition/predictor.py +8 -2
- paddlex/inference/models/formula_recognition/processors.py +90 -77
- paddlex/inference/models/formula_recognition/result.py +28 -27
- paddlex/inference/models/image_feature/processors.py +3 -4
- paddlex/inference/models/keypoint_detection/predictor.py +3 -0
- paddlex/inference/models/object_detection/predictor.py +2 -0
- paddlex/inference/models/object_detection/processors.py +28 -3
- paddlex/inference/models/object_detection/utils.py +2 -0
- paddlex/inference/models/table_structure_recognition/result.py +0 -10
- paddlex/inference/models/text_detection/predictor.py +8 -0
- paddlex/inference/models/text_detection/processors.py +44 -10
- paddlex/inference/models/text_detection/result.py +0 -10
- paddlex/inference/models/text_recognition/result.py +1 -1
- paddlex/inference/pipelines/__init__.py +9 -5
- paddlex/inference/pipelines/_parallel.py +172 -0
- paddlex/inference/pipelines/anomaly_detection/pipeline.py +16 -6
- paddlex/inference/pipelines/attribute_recognition/pipeline.py +11 -1
- paddlex/inference/pipelines/base.py +14 -4
- paddlex/inference/pipelines/components/faisser.py +1 -1
- paddlex/inference/pipelines/doc_preprocessor/pipeline.py +53 -27
- paddlex/inference/pipelines/formula_recognition/pipeline.py +120 -82
- paddlex/inference/pipelines/formula_recognition/result.py +1 -11
- paddlex/inference/pipelines/image_classification/pipeline.py +16 -6
- paddlex/inference/pipelines/image_multilabel_classification/pipeline.py +16 -6
- paddlex/inference/pipelines/instance_segmentation/pipeline.py +16 -6
- paddlex/inference/pipelines/keypoint_detection/pipeline.py +16 -6
- paddlex/inference/pipelines/layout_parsing/layout_objects.py +859 -0
- paddlex/inference/pipelines/layout_parsing/pipeline.py +34 -47
- paddlex/inference/pipelines/layout_parsing/pipeline_v2.py +832 -260
- paddlex/inference/pipelines/layout_parsing/result.py +4 -17
- paddlex/inference/pipelines/layout_parsing/result_v2.py +259 -245
- paddlex/inference/pipelines/layout_parsing/setting.py +88 -0
- paddlex/inference/pipelines/layout_parsing/utils.py +391 -2028
- paddlex/inference/pipelines/layout_parsing/xycut_enhanced/__init__.py +16 -0
- paddlex/inference/pipelines/layout_parsing/xycut_enhanced/utils.py +1199 -0
- paddlex/inference/pipelines/layout_parsing/xycut_enhanced/xycuts.py +615 -0
- paddlex/inference/pipelines/m_3d_bev_detection/pipeline.py +2 -2
- paddlex/inference/pipelines/multilingual_speech_recognition/pipeline.py +2 -2
- paddlex/inference/pipelines/object_detection/pipeline.py +16 -6
- paddlex/inference/pipelines/ocr/pipeline.py +127 -70
- paddlex/inference/pipelines/ocr/result.py +21 -18
- paddlex/inference/pipelines/open_vocabulary_detection/pipeline.py +2 -2
- paddlex/inference/pipelines/open_vocabulary_segmentation/pipeline.py +2 -2
- paddlex/inference/pipelines/pp_chatocr/pipeline_base.py +2 -2
- paddlex/inference/pipelines/pp_chatocr/pipeline_v3.py +2 -5
- paddlex/inference/pipelines/pp_chatocr/pipeline_v4.py +6 -6
- paddlex/inference/pipelines/rotated_object_detection/pipeline.py +16 -6
- paddlex/inference/pipelines/seal_recognition/pipeline.py +109 -53
- paddlex/inference/pipelines/semantic_segmentation/pipeline.py +16 -6
- paddlex/inference/pipelines/small_object_detection/pipeline.py +16 -6
- paddlex/inference/pipelines/table_recognition/pipeline.py +26 -18
- paddlex/inference/pipelines/table_recognition/pipeline_v2.py +624 -53
- paddlex/inference/pipelines/table_recognition/result.py +1 -1
- paddlex/inference/pipelines/table_recognition/table_recognition_post_processing_v2.py +9 -5
- paddlex/inference/pipelines/ts_anomaly_detection/pipeline.py +2 -2
- paddlex/inference/pipelines/ts_classification/pipeline.py +2 -2
- paddlex/inference/pipelines/ts_forecasting/pipeline.py +2 -2
- paddlex/inference/pipelines/video_classification/pipeline.py +2 -2
- paddlex/inference/pipelines/video_detection/pipeline.py +2 -2
- paddlex/inference/serving/basic_serving/_app.py +46 -13
- paddlex/inference/serving/basic_serving/_pipeline_apps/_common/common.py +5 -1
- paddlex/inference/serving/basic_serving/_pipeline_apps/layout_parsing.py +0 -1
- paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv3_doc.py +0 -1
- paddlex/inference/serving/basic_serving/_pipeline_apps/pp_chatocrv4_doc.py +1 -1
- paddlex/inference/serving/basic_serving/_pipeline_apps/pp_structurev3.py +6 -2
- paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition.py +1 -5
- paddlex/inference/serving/basic_serving/_pipeline_apps/table_recognition_v2.py +4 -5
- paddlex/inference/serving/infra/utils.py +20 -22
- paddlex/inference/serving/schemas/formula_recognition.py +1 -1
- paddlex/inference/serving/schemas/layout_parsing.py +1 -2
- paddlex/inference/serving/schemas/pp_chatocrv3_doc.py +1 -2
- paddlex/inference/serving/schemas/pp_chatocrv4_doc.py +2 -2
- paddlex/inference/serving/schemas/pp_structurev3.py +10 -6
- paddlex/inference/serving/schemas/seal_recognition.py +1 -1
- paddlex/inference/serving/schemas/table_recognition.py +2 -6
- paddlex/inference/serving/schemas/table_recognition_v2.py +5 -6
- paddlex/inference/utils/hpi.py +30 -16
- paddlex/inference/utils/hpi_model_info_collection.json +666 -162
- paddlex/inference/utils/io/readers.py +12 -12
- paddlex/inference/utils/misc.py +20 -0
- paddlex/inference/utils/mkldnn_blocklist.py +59 -0
- paddlex/inference/utils/official_models.py +140 -5
- paddlex/inference/utils/pp_option.py +74 -9
- paddlex/model.py +2 -2
- paddlex/modules/__init__.py +1 -1
- paddlex/modules/anomaly_detection/evaluator.py +2 -2
- paddlex/modules/base/__init__.py +1 -1
- paddlex/modules/base/evaluator.py +5 -5
- paddlex/modules/base/trainer.py +1 -1
- paddlex/modules/doc_vlm/dataset_checker.py +2 -2
- paddlex/modules/doc_vlm/evaluator.py +2 -2
- paddlex/modules/doc_vlm/exportor.py +2 -2
- paddlex/modules/doc_vlm/model_list.py +1 -1
- paddlex/modules/doc_vlm/trainer.py +2 -2
- paddlex/modules/face_recognition/evaluator.py +2 -2
- paddlex/modules/formula_recognition/evaluator.py +5 -2
- paddlex/modules/formula_recognition/model_list.py +3 -0
- paddlex/modules/formula_recognition/trainer.py +3 -0
- paddlex/modules/general_recognition/evaluator.py +1 -1
- paddlex/modules/image_classification/evaluator.py +2 -2
- paddlex/modules/image_classification/model_list.py +1 -0
- paddlex/modules/instance_segmentation/evaluator.py +1 -1
- paddlex/modules/keypoint_detection/evaluator.py +1 -1
- paddlex/modules/m_3d_bev_detection/evaluator.py +2 -2
- paddlex/modules/multilabel_classification/evaluator.py +2 -2
- paddlex/modules/object_detection/dataset_checker/dataset_src/convert_dataset.py +4 -4
- paddlex/modules/object_detection/evaluator.py +2 -2
- paddlex/modules/object_detection/model_list.py +2 -0
- paddlex/modules/semantic_segmentation/dataset_checker/__init__.py +12 -2
- paddlex/modules/semantic_segmentation/evaluator.py +2 -2
- paddlex/modules/table_recognition/evaluator.py +2 -2
- paddlex/modules/text_detection/evaluator.py +2 -2
- paddlex/modules/text_detection/model_list.py +2 -0
- paddlex/modules/text_recognition/evaluator.py +2 -2
- paddlex/modules/text_recognition/model_list.py +2 -0
- paddlex/modules/ts_anomaly_detection/evaluator.py +2 -2
- paddlex/modules/ts_classification/dataset_checker/dataset_src/split_dataset.py +1 -1
- paddlex/modules/ts_classification/evaluator.py +2 -2
- paddlex/modules/ts_forecast/evaluator.py +2 -2
- paddlex/modules/video_classification/evaluator.py +2 -2
- paddlex/modules/video_detection/evaluator.py +2 -2
- paddlex/ops/__init__.py +8 -5
- paddlex/paddlex_cli.py +19 -13
- paddlex/repo_apis/Paddle3D_api/bev_fusion/model.py +2 -2
- paddlex/repo_apis/PaddleClas_api/cls/config.py +1 -1
- paddlex/repo_apis/PaddleClas_api/cls/model.py +1 -1
- paddlex/repo_apis/PaddleClas_api/cls/register.py +10 -0
- paddlex/repo_apis/PaddleClas_api/cls/runner.py +1 -1
- paddlex/repo_apis/PaddleDetection_api/instance_seg/model.py +1 -1
- paddlex/repo_apis/PaddleDetection_api/instance_seg/runner.py +1 -1
- paddlex/repo_apis/PaddleDetection_api/object_det/config.py +1 -1
- paddlex/repo_apis/PaddleDetection_api/object_det/model.py +1 -1
- paddlex/repo_apis/PaddleDetection_api/object_det/official_categories.py +25 -0
- paddlex/repo_apis/PaddleDetection_api/object_det/register.py +30 -0
- paddlex/repo_apis/PaddleDetection_api/object_det/runner.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/formula_rec/config.py +3 -3
- paddlex/repo_apis/PaddleOCR_api/formula_rec/model.py +5 -9
- paddlex/repo_apis/PaddleOCR_api/formula_rec/register.py +27 -0
- paddlex/repo_apis/PaddleOCR_api/formula_rec/runner.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/table_rec/model.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/table_rec/runner.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/text_det/model.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/text_det/register.py +18 -0
- paddlex/repo_apis/PaddleOCR_api/text_det/runner.py +1 -1
- paddlex/repo_apis/PaddleOCR_api/text_rec/config.py +3 -3
- paddlex/repo_apis/PaddleOCR_api/text_rec/model.py +5 -9
- paddlex/repo_apis/PaddleOCR_api/text_rec/register.py +18 -0
- paddlex/repo_apis/PaddleOCR_api/text_rec/runner.py +1 -1
- paddlex/repo_apis/PaddleSeg_api/seg/model.py +1 -1
- paddlex/repo_apis/PaddleSeg_api/seg/runner.py +1 -1
- paddlex/repo_apis/PaddleTS_api/ts_ad/config.py +3 -3
- paddlex/repo_apis/PaddleTS_api/ts_cls/config.py +2 -2
- paddlex/repo_apis/PaddleTS_api/ts_fc/config.py +4 -4
- paddlex/repo_apis/PaddleVideo_api/video_cls/config.py +1 -1
- paddlex/repo_apis/PaddleVideo_api/video_cls/model.py +1 -1
- paddlex/repo_apis/PaddleVideo_api/video_cls/runner.py +1 -1
- paddlex/repo_apis/PaddleVideo_api/video_det/config.py +1 -1
- paddlex/repo_apis/PaddleVideo_api/video_det/model.py +1 -1
- paddlex/repo_apis/PaddleVideo_api/video_det/runner.py +1 -1
- paddlex/repo_apis/base/config.py +1 -1
- paddlex/repo_manager/core.py +3 -3
- paddlex/repo_manager/meta.py +6 -2
- paddlex/repo_manager/repo.py +17 -16
- paddlex/utils/custom_device_list.py +26 -2
- paddlex/utils/deps.py +3 -3
- paddlex/utils/device.py +5 -13
- paddlex/utils/env.py +4 -0
- paddlex/utils/flags.py +11 -4
- paddlex/utils/fonts/__init__.py +34 -4
- paddlex/utils/misc.py +1 -1
- paddlex/utils/subclass_register.py +2 -2
- {paddlex-3.0.0rc1.dist-info → paddlex-3.0.2.dist-info}/METADATA +349 -208
- {paddlex-3.0.0rc1.dist-info → paddlex-3.0.2.dist-info}/RECORD +240 -211
- {paddlex-3.0.0rc1.dist-info → paddlex-3.0.2.dist-info}/WHEEL +1 -1
- {paddlex-3.0.0rc1.dist-info → paddlex-3.0.2.dist-info}/entry_points.txt +1 -0
- {paddlex-3.0.0rc1.dist-info/licenses → paddlex-3.0.2.dist-info}/LICENSE +0 -0
- {paddlex-3.0.0rc1.dist-info → paddlex-3.0.2.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,7 @@ from ...common.reader import ReadImage
|
|
23
23
|
from ...models.object_detection.result import DetResult
|
24
24
|
from ...utils.hpi import HPIConfig
|
25
25
|
from ...utils.pp_option import PaddlePredictorOption
|
26
|
+
from .._parallel import AutoParallelImageSimpleInferencePipeline
|
26
27
|
from ..base import BasePipeline
|
27
28
|
from ..components import CropByBoxes
|
28
29
|
from ..ocr.result import OCRResult
|
@@ -30,12 +31,9 @@ from .result import LayoutParsingResult
|
|
30
31
|
from .utils import get_sub_regions_ocr_res, sorted_layout_boxes
|
31
32
|
|
32
33
|
|
33
|
-
|
34
|
-
class LayoutParsingPipeline(BasePipeline):
|
34
|
+
class _LayoutParsingPipeline(BasePipeline):
|
35
35
|
"""Layout Parsing Pipeline"""
|
36
36
|
|
37
|
-
entities = ["layout_parsing"]
|
38
|
-
|
39
37
|
def __init__(
|
40
38
|
self,
|
41
39
|
config: Dict,
|
@@ -51,9 +49,9 @@ class LayoutParsingPipeline(BasePipeline):
|
|
51
49
|
device (str, optional): Device to run the predictions on. Defaults to None.
|
52
50
|
pp_option (PaddlePredictorOption, optional): PaddlePredictor options. Defaults to None.
|
53
51
|
use_hpip (bool, optional): Whether to use the high-performance
|
54
|
-
inference plugin (HPIP). Defaults to False.
|
52
|
+
inference plugin (HPIP) by default. Defaults to False.
|
55
53
|
hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
|
56
|
-
The high-performance inference configuration dictionary.
|
54
|
+
The default high-performance inference configuration dictionary.
|
57
55
|
Defaults to None.
|
58
56
|
"""
|
59
57
|
|
@@ -79,7 +77,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
79
77
|
"""
|
80
78
|
|
81
79
|
self.use_doc_preprocessor = config.get("use_doc_preprocessor", True)
|
82
|
-
self.use_general_ocr = config.get("use_general_ocr", True)
|
83
80
|
self.use_table_recognition = config.get("use_table_recognition", True)
|
84
81
|
self.use_seal_recognition = config.get("use_seal_recognition", True)
|
85
82
|
self.use_formula_recognition = config.get("use_formula_recognition", True)
|
@@ -116,12 +113,11 @@ class LayoutParsingPipeline(BasePipeline):
|
|
116
113
|
layout_kwargs["layout_merge_bboxes_mode"] = layout_merge_bboxes_mode
|
117
114
|
self.layout_det_model = self.create_model(layout_det_config, **layout_kwargs)
|
118
115
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
self.general_ocr_pipeline = self.create_pipeline(general_ocr_config)
|
116
|
+
general_ocr_config = config.get("SubPipelines", {}).get(
|
117
|
+
"GeneralOCR",
|
118
|
+
{"pipeline_config_error": "config error for general_ocr_pipeline!"},
|
119
|
+
)
|
120
|
+
self.general_ocr_pipeline = self.create_pipeline(general_ocr_config)
|
125
121
|
|
126
122
|
if self.use_seal_recognition:
|
127
123
|
seal_recognition_config = config.get("SubPipelines", {}).get(
|
@@ -240,10 +236,10 @@ class LayoutParsingPipeline(BasePipeline):
|
|
240
236
|
)
|
241
237
|
seal_index += 1
|
242
238
|
else:
|
243
|
-
ocr_res_in_box,
|
239
|
+
ocr_res_in_box, matched_idxes = get_sub_regions_ocr_res(
|
244
240
|
overall_ocr_res, [box], return_match_idx=True
|
245
241
|
)
|
246
|
-
for matched_idx in
|
242
|
+
for matched_idx in matched_idxes:
|
247
243
|
if matched_ocr_dict.get(matched_idx, None) is None:
|
248
244
|
matched_ocr_dict[matched_idx] = [object_box_idx]
|
249
245
|
else:
|
@@ -307,12 +303,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
307
303
|
)
|
308
304
|
return False
|
309
305
|
|
310
|
-
if input_params["use_general_ocr"] and not self.use_general_ocr:
|
311
|
-
logging.error(
|
312
|
-
"Set use_general_ocr, but the models for general OCR are not initialized."
|
313
|
-
)
|
314
|
-
return False
|
315
|
-
|
316
306
|
if input_params["use_seal_recognition"] and not self.use_seal_recognition:
|
317
307
|
logging.error(
|
318
308
|
"Set use_seal_recognition, but the models for seal recognition are not initialized."
|
@@ -331,7 +321,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
331
321
|
self,
|
332
322
|
use_doc_orientation_classify: Optional[bool],
|
333
323
|
use_doc_unwarping: Optional[bool],
|
334
|
-
use_general_ocr: Optional[bool],
|
335
324
|
use_seal_recognition: Optional[bool],
|
336
325
|
use_table_recognition: Optional[bool],
|
337
326
|
use_formula_recognition: Optional[bool],
|
@@ -342,7 +331,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
342
331
|
Args:
|
343
332
|
use_doc_orientation_classify (Optional[bool]): Whether to use document orientation classification.
|
344
333
|
use_doc_unwarping (Optional[bool]): Whether to use document unwarping.
|
345
|
-
use_general_ocr (Optional[bool]): Whether to use general OCR.
|
346
334
|
use_seal_recognition (Optional[bool]): Whether to use seal recognition.
|
347
335
|
use_table_recognition (Optional[bool]): Whether to use table recognition.
|
348
336
|
|
@@ -357,9 +345,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
357
345
|
else:
|
358
346
|
use_doc_preprocessor = False
|
359
347
|
|
360
|
-
if use_general_ocr is None:
|
361
|
-
use_general_ocr = self.use_general_ocr
|
362
|
-
|
363
348
|
if use_seal_recognition is None:
|
364
349
|
use_seal_recognition = self.use_seal_recognition
|
365
350
|
|
@@ -371,7 +356,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
371
356
|
|
372
357
|
return dict(
|
373
358
|
use_doc_preprocessor=use_doc_preprocessor,
|
374
|
-
use_general_ocr=use_general_ocr,
|
375
359
|
use_seal_recognition=use_seal_recognition,
|
376
360
|
use_table_recognition=use_table_recognition,
|
377
361
|
use_formula_recognition=use_formula_recognition,
|
@@ -383,7 +367,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
383
367
|
use_doc_orientation_classify: Optional[bool] = None,
|
384
368
|
use_doc_unwarping: Optional[bool] = None,
|
385
369
|
use_textline_orientation: Optional[bool] = None,
|
386
|
-
use_general_ocr: Optional[bool] = None,
|
387
370
|
use_seal_recognition: Optional[bool] = None,
|
388
371
|
use_table_recognition: Optional[bool] = None,
|
389
372
|
use_formula_recognition: Optional[bool] = None,
|
@@ -413,7 +396,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
413
396
|
use_doc_orientation_classify (Optional[bool]): Whether to use document orientation classification.
|
414
397
|
use_doc_unwarping (Optional[bool]): Whether to use document unwarping.
|
415
398
|
use_textline_orientation (Optional[bool]): Whether to use textline orientation prediction.
|
416
|
-
use_general_ocr (Optional[bool]): Whether to use general OCR.
|
417
399
|
use_seal_recognition (Optional[bool]): Whether to use seal recognition.
|
418
400
|
use_table_recognition (Optional[bool]): Whether to use table recognition.
|
419
401
|
use_formula_recognition (Optional[bool]): Whether to use formula recognition.
|
@@ -447,7 +429,6 @@ class LayoutParsingPipeline(BasePipeline):
|
|
447
429
|
model_settings = self.get_model_settings(
|
448
430
|
use_doc_orientation_classify,
|
449
431
|
use_doc_unwarping,
|
450
|
-
use_general_ocr,
|
451
432
|
use_seal_recognition,
|
452
433
|
use_table_recognition,
|
453
434
|
use_formula_recognition,
|
@@ -482,24 +463,18 @@ class LayoutParsingPipeline(BasePipeline):
|
|
482
463
|
)
|
483
464
|
)
|
484
465
|
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
text_det_thresh=text_det_thresh,
|
496
|
-
text_det_box_thresh=text_det_box_thresh,
|
497
|
-
text_det_unclip_ratio=text_det_unclip_ratio,
|
498
|
-
text_rec_score_thresh=text_rec_score_thresh,
|
499
|
-
)
|
466
|
+
overall_ocr_res = next(
|
467
|
+
self.general_ocr_pipeline(
|
468
|
+
doc_preprocessor_image,
|
469
|
+
use_textline_orientation=use_textline_orientation,
|
470
|
+
text_det_limit_side_len=text_det_limit_side_len,
|
471
|
+
text_det_limit_type=text_det_limit_type,
|
472
|
+
text_det_thresh=text_det_thresh,
|
473
|
+
text_det_box_thresh=text_det_box_thresh,
|
474
|
+
text_det_unclip_ratio=text_det_unclip_ratio,
|
475
|
+
text_rec_score_thresh=text_rec_score_thresh,
|
500
476
|
)
|
501
|
-
|
502
|
-
overall_ocr_res = {}
|
477
|
+
)
|
503
478
|
|
504
479
|
if model_settings["use_table_recognition"]:
|
505
480
|
table_res_all = next(
|
@@ -579,3 +554,15 @@ class LayoutParsingPipeline(BasePipeline):
|
|
579
554
|
"model_settings": model_settings,
|
580
555
|
}
|
581
556
|
yield LayoutParsingResult(single_img_res)
|
557
|
+
|
558
|
+
|
559
|
+
@pipeline_requires_extra("ocr")
|
560
|
+
class LayoutParsingPipeline(AutoParallelImageSimpleInferencePipeline):
|
561
|
+
entities = ["layout_parsing"]
|
562
|
+
|
563
|
+
@property
|
564
|
+
def _pipeline_cls(self):
|
565
|
+
return _LayoutParsingPipeline
|
566
|
+
|
567
|
+
def _get_batch_size(self, config):
|
568
|
+
return 1
|