📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.
This report presents the forensic synthetic code analysis of RapidAI/RapidOCR, a Python project with 7,150 GitHub stars. SynthScan v2.0 examined 21,947 lines of code across 128 source files, recording 238 pattern matches distributed across 12 syntactic categories. The overall adjusted score of 13.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 238 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_prepare_wheel_assets.py | 65 | def test_select_model_info_supports_default_model_specs( | CODE |
| LOW⚡ | python/tests/test_input.py | 135 | def test_invalid_init_parameters(params): | CODE |
| LOW⚡ | python/tests/test_input.py | 142 | def test_nested_init_parameters(): | CODE |
| LOW⚡ | python/tests/test_input.py | 149 | def test_input_three_ndim_two_channel(engine): | CODE |
| LOW⚡ | python/tests/test_input.py | 159 | def test_input_three_ndim_one_channel(engine): | CODE |
| LOW | python/tests/test_engine_config.py | 50 | def test_onnxruntime_provider_config_uses_cpu_by_default(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 61 | def test_onnxruntime_provider_config_prefers_cuda_when_available(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 76 | def test_onnxruntime_provider_config_falls_back_when_cuda_unavailable(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 88 | def test_onnxruntime_provider_config_prefers_directml_on_windows(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 104 | def test_onnxruntime_provider_config_skips_directml_on_non_windows(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 116 | def test_onnxruntime_provider_config_adds_cann_when_available(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 130 | def test_onnxruntime_provider_config_adds_coreml_on_darwin(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 145 | def test_onnxruntime_provider_config_rejects_empty_session_providers(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 157 | def test_openvino_cpu_config_omits_defaults(): | CODE |
| LOW | python/tests/test_engine_config.py | 171 | def test_openvino_cpu_config_maps_non_default_values(monkeypatch): | CODE |
| LOW | python/tests/test_engine_config.py | 194 | def test_openvino_cpu_config_ignores_invalid_thread_count(monkeypatch): | CODE |
| LOW | python/tests/test_default_config.py | 48 | def test_default_global_config(default_cfg): | CODE |
| LOW | python/tests/test_default_config.py | 64 | def test_default_onnxruntime_engine_config(default_cfg): | CODE |
| LOW | python/tests/test_default_config.py | 90 | def test_default_openvino_engine_config(default_cfg): | CODE |
| LOW | python/tests/test_default_config.py | 102 | def test_default_other_engine_configs(default_cfg): | CODE |
| LOW | python/tests/test_default_config.py | 226 | def test_default_cls_model_config(default_cfg): | CODE |
| LOW | python/tests/test_default_config.py | 238 | def test_default_engine_runtime_config(default_engine): | CODE |
| LOW | python/tests/test_default_config.py | 255 | def test_default_engine_real_full_pipeline(default_engine): | CODE |
| LOW | python/tests/test_default_config.py | 263 | def test_default_engine_real_rec_only(default_engine): | CODE |
| LOW | python/tests/test_tensorrt.py | 25 | def install_fake_tensorrt_modules(monkeypatch): | CODE |
| LOW | python/tests/test_tensorrt.py | 114 | def test_tensorrt_cache_dir_initializes_model_root_dir_for_build(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 142 | def test_tensorrt_default_cache_dir_uses_model_root_dir(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 173 | def test_tensorrt_explicit_model_path_skips_download(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 207 | def test_tensorrt_loads_cached_engine_without_rebuild(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 234 | def test_tensorrt_force_rebuild_ignores_cached_engine(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 274 | def test_tensorrt_falls_back_to_rebuild_when_cached_engine_load_fails( | CODE |
| LOW | python/tests/test_tensorrt.py | 313 | def test_tensorrt_context_creation_failure_raises_tensorrt_error(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_tensorrt.py | 345 | def test_tensorrt_get_dict_key_url_uses_fallback_engines(monkeypatch): | CODE |
| LOW | python/tests/test_return_word.py | 76 | def test_en_return_single_char_box(engine): | CODE |
| LOW | python/tests/test_cli.py | 78 | def test_check_required_files_missing(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_cli.py | 86 | def test_cli_check_validates_required_files_before_engine(monkeypatch): | CODE |
| LOW | python/tests/test_cli.py | 130 | def test_cli_lang_type_passed_to_engine(monkeypatch): | CODE |
| LOW | python/tests/test_cli.py | 147 | def test_cli_vis_empty_result(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_cli.py | 166 | def test_cli_word_vis_empty_result(monkeypatch, tmp_path): | CODE |
| LOW | python/tests/test_model_resolver.py | 46 | def test_list_supported_langs_can_filter_by_model_type(): | CODE |
| LOW | python/tests/test_model_resolver.py | 58 | def test_resolve_model_key_returns_none_for_unrouted_versions(): | CODE |
| LOW | python/rapidocr/cal_rec_boxes/main.py | 202 | def reverse_rotate_crop_image( | CODE |
| LOW | python/rapidocr/utils/process_img.py | 107 | def resize_image_within_bounds( | CODE |
| LOW | python/rapidocr/utils/download_file.py | 44 | def _ensure_parent_dir_exists(path: Path): | CODE |
| LOW | python/rapidocr/utils/download_file.py | 78 | def _save_response_with_progress( | CODE |
| LOW | python/rapidocr/inference_engine/tensorrt/main.py | 345 | def _create_execution_context(self, engine_path: Path) -> trt.IExecutionContext: | CODE |
| LOW | …docr/inference_engine/pytorch/networks/necks/db_fpn.py | 571 | def _convert_dilated_to_nondilated(kernel, dilate_rate): | CODE |
| LOW | …docr/inference_engine/pytorch/networks/necks/db_fpn.py | 587 | def _merge_dilated_into_large_kernel(large_kernel, dilated_kernel, dilated_r): | CODE |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 193 | def get_inst_idx_to_tensor_position_map(inst_idx_list): | CODE |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 275 | def collect_active_inst_idx_list( | CODE |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 297 | def collect_hypothesis_and_scores(inst_dec_beams, n_best): | CODE |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 358 | def generate_square_subsequent_mask(self, sz): | CODE |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 816 | def get_the_best_score_and_idx(self): | CODE |
| LOW | …pytorch/networks/transforms/tps_spatial_transformer.py | 55 | def build_output_control_points(num_control_points, margins): | CODE |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 389 | def get_equivalent_kernel_bias(self): | CODE |
| LOW | …ce_engine/pytorch/networks/backbones/rec_donut_swin.py | 710 | def set_shift_and_window_size(self, input_resolution): | CODE |
| LOW | python/rapidocr/ch_ppocr_cls/utils.py | 55 | def restore_image_orientation( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 7 | CODE | |
| LOW | python/rapidocr/__init__.py | 10 | CODE | |
| LOW | python/rapidocr/__init__.py | 11 | CODE | |
| LOW | python/rapidocr/__init__.py | 12 | CODE | |
| LOW | python/rapidocr/__init__.py | 13 | CODE | |
| LOW | python/rapidocr/ch_ppocr_rec/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/ch_ppocr_rec/__init__.py | 5 | CODE | |
| LOW | python/rapidocr/ch_ppocr_rec/__init__.py | 5 | CODE | |
| LOW | python/rapidocr/cal_rec_boxes/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/ch_ppocr_det/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/ch_ppocr_det/__init__.py | 5 | CODE | |
| LOW | …thon/rapidocr/inference_engine/onnxruntime/__init__.py | 4 | CODE | |
| LOW | …thon/rapidocr/inference_engine/onnxruntime/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/paddle/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/paddle/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/openvino/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/openvino/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/mnn/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/mnn/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/tensorrt/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/tensorrt/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/pytorch/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/inference_engine/pytorch/__init__.py | 4 | CODE | |
| LOW | …erence_engine/pytorch/networks/heads/rec_multi_head.py | 6 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 21 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 22 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 22 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 25 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 26 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/stn.py | 5 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/stn.py | 6 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/stn.py | 7 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/tps.py | 1 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/tps.py | 2 | CODE | |
| LOW | …cr/inference_engine/pytorch/networks/transforms/tps.py | 3 | CODE | |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 19 | CODE | |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 20 | CODE | |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 21 | CODE | |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 22 | CODE | |
| LOW | …pytorch/networks/transforms/tps_spatial_transformer.py | 5 | CODE | |
| LOW | …pytorch/networks/transforms/tps_spatial_transformer.py | 6 | CODE | |
| LOW | …pytorch/networks/transforms/tps_spatial_transformer.py | 7 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 19 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 19 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 19 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_pplcnet.py | 27 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_pplcnet.py | 27 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_pplcnet.py | 27 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv3.py | 15 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv3.py | 15 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv3.py | 15 | CODE | |
| LOW | python/rapidocr/ch_ppocr_cls/__init__.py | 4 | CODE | |
| LOW | python/rapidocr/ch_ppocr_cls/__init__.py | 5 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/rapidocr/utils/process_img.py | 145 | except Exception as exc: | CODE |
| LOW | python/rapidocr/utils/process_img.py | 175 | except Exception as exc: | CODE |
| LOW | python/rapidocr/utils/load_image.py | 74 | except Exception as e: | CODE |
| LOW | python/rapidocr/utils/utils.py | 98 | except Exception as e: | CODE |
| LOW | python/rapidocr/ch_ppocr_det/utils.py | 107 | except Exception as exc: | CODE |
| LOW | python/rapidocr/inference_engine/onnxruntime/main.py | 99 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/paddle/main.py | 92 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/openvino/main.py | 72 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/mnn/main.py | 79 | except Exception as e: | CODE |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 64 | except Exception as e: | CODE |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 71 | except Exception as e: | CODE |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 78 | except Exception as e: | CODE |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 81 | except Exception as e: | CODE |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 123 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/tensorrt/main.py | 183 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/tensorrt/main.py | 275 | except Exception as e: | CODE |
| LOW | python/rapidocr/inference_engine/tensorrt/main.py | 378 | except Exception as e: | CODE |
| MEDIUM | python/rapidocr/inference_engine/tensorrt/main.py | 169 | def _get_max_profile_size(self) -> int: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 160 | except Exception: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 167 | except Exception: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 202 | except Exception: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 218 | except Exception: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 226 | except Exception: | CODE |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 271 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/__init__.py | 1 | # -*- encoding: utf-8 -*- | COMMENT |
| LOW | python/rapidocr/ch_ppocr_rec/main.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | python/rapidocr/utils/__init__.py | 1 | # -*- encoding: utf-8 -*- | COMMENT |
| LOW | python/rapidocr/ch_ppocr_det/main.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | python/rapidocr/inference_engine/__init__.py | 1 | # -*- encoding: utf-8 -*- | COMMENT |
| LOW | …rapidocr/inference_engine/pytorch/networks/__init__.py | 1 | # -*- encoding: utf-8 -*- | COMMENT |
| LOW | …cr/inference_engine/pytorch/networks/necks/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …ence_engine/pytorch/networks/architectures/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …ce_engine/pytorch/networks/heads/multiheadAttention.py | 81 | q = self._in_proj_q(query) | COMMENT |
| LOW | …r/inference_engine/pytorch/networks/transforms/tsrn.py | 1 | # copyright (c) 2020 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …/inference_engine/pytorch/networks/transforms/tbsrn.py | 1 | # copyright (c) 2022 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 1 | # copyright (c) 2021 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 1 | # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 841 | # | COMMENT |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 861 | # N, C, _, _ = x.shape | COMMENT |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 881 | # | COMMENT |
| LOW | …nference_engine/pytorch/networks/backbones/__init__.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | …rence_engine/pytorch/networks/backbones/rec_pplcnet.py | 1 | # copyright (c) 2021 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv3.py | 1 | # copyright (c) 2021 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | …ce_engine/pytorch/networks/backbones/rec_donut_swin.py | 1 | # copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve. | COMMENT |
| LOW | python/rapidocr/ch_ppocr_cls/utils.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| LOW | python/rapidocr/ch_ppocr_cls/main.py | 1 | # Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …docr/inference_engine/pytorch/networks/necks/db_fpn.py | 460 | # ============================================================================ | COMMENT |
| MEDIUM | …docr/inference_engine/pytorch/networks/necks/db_fpn.py | 462 | # ============================================================================ | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 166 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 168 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 534 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …rence_engine/pytorch/networks/backbones/rec_lcnetv4.py | 536 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/rapidocr/main.py | 95 | CODE | |
| LOW | …apidocr/inference_engine/pytorch/networks/necks/rnn.py | 77 | CODE | |
| LOW | …apidocr/inference_engine/pytorch/networks/necks/rnn.py | 199 | CODE | |
| LOW | …ce_engine/pytorch/networks/heads/multiheadAttention.py | 147 | CODE | |
| LOW | …ce_engine/pytorch/networks/heads/multiheadAttention.py | 155 | CODE | |
| LOW | …ce_engine/pytorch/networks/heads/multiheadAttention.py | 163 | CODE | |
| LOW | …inference_engine/pytorch/networks/heads/det_db_head.py | 106 | CODE | |
| LOW | …ference_engine/pytorch/networks/heads/rec_nrtr_head.py | 34 | CODE | |
| LOW | …r/inference_engine/pytorch/networks/transforms/tsrn.py | 34 | CODE | |
| LOW | …/inference_engine/pytorch/networks/transforms/tbsrn.py | 140 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 69 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 1330 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 20 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 52 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 130 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 199 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 404 | CODE | |
| LOW | …ce_engine/pytorch/networks/backbones/rec_donut_swin.py | 465 | CODE | |
| LOW | …ce_engine/pytorch/networks/backbones/rec_donut_swin.py | 46 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tools/prepare_wheel_assets.py | 146 | CODE | |
| LOW | python/tools/prepare_wheel_assets.py | 296 | CODE | |
| LOW | …n/rapidocr/inference_engine/tensorrt/engine_builder.py | 86 | CODE | |
| LOW | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 171 | CODE | |
| LOW | …n/rapidocr/inference_engine/pytorch/networks/common.py | 51 | CODE | |
| LOW | …docr/inference_engine/pytorch/networks/necks/db_fpn.py | 480 | CODE | |
| LOW | …apidocr/inference_engine/pytorch/networks/necks/rnn.py | 139 | CODE | |
| LOW | …ce_engine/pytorch/networks/architectures/base_model.py | 66 | CODE | |
| LOW | …erence_engine/pytorch/networks/heads/rec_multi_head.py | 24 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 737 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 775 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 565 | CODE | |
| LOW | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 1425 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_svtrnet.py | 573 | CODE | |
| LOW | …ference_engine/pytorch/networks/backbones/rec_hgnet.py | 227 | CODE | |
| LOW | …rence_engine/pytorch/networks/backbones/rec_lcnetv3.py | 243 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/rapidocr/__init__.py | 34 | __all__ = [ | CODE |
| LOW | python/rapidocr/ch_ppocr_rec/__init__.py | 7 | __all__ = ["TextRecognizer", "TextRecInput", "TextRecOutput"] | CODE |
| LOW | python/rapidocr/cal_rec_boxes/__init__.py | 6 | __all__ = ["CalRecBoxes"] | CODE |
| LOW | python/rapidocr/ch_ppocr_det/__init__.py | 7 | __all__ = ["TextDetector", "TextDetOutput"] | CODE |
| LOW | …thon/rapidocr/inference_engine/onnxruntime/__init__.py | 6 | __all__ = ["ONNXRuntimeError", "OrtInferSession"] | CODE |
| LOW | python/rapidocr/inference_engine/paddle/__init__.py | 6 | __all__ = ["PaddleInferError", "PaddleInferSession"] | CODE |
| LOW | python/rapidocr/inference_engine/openvino/__init__.py | 6 | __all__ = ["OpenVINOError", "OpenVINOInferSession"] | CODE |
| LOW | python/rapidocr/inference_engine/mnn/__init__.py | 6 | __all__ = ["MNNError", "MNNInferSession"] | CODE |
| LOW | python/rapidocr/inference_engine/tensorrt/__init__.py | 6 | __all__ = ["TensorRTError", "TRTInferSession"] | CODE |
| LOW | python/rapidocr/inference_engine/pytorch/__init__.py | 6 | __all__ = ["TorchInferError", "TorchInferSession"] | CODE |
| LOW | …cr/inference_engine/pytorch/networks/necks/__init__.py | 15 | __all__ = ["build_neck"] | CODE |
| LOW | …ence_engine/pytorch/networks/architectures/__init__.py | 17 | __all__ = ["build_model"] | CODE |
| LOW | …cr/inference_engine/pytorch/networks/heads/__init__.py | 15 | __all__ = ["build_head"] | CODE |
| LOW | …ference_engine/pytorch/networks/transforms/__init__.py | 15 | __all__ = ["build_transform"] | CODE |
| LOW | …nference_engine/pytorch/networks/backbones/__init__.py | 15 | __all__ = ["build_backbone"] | CODE |
| LOW | python/rapidocr/ch_ppocr_cls/__init__.py | 7 | __all__ = ["TextClassifier", "TextClsOutput"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/rapidocr/inference_engine/tensorrt/main.py | 88 | Run inference on input data. This method executes the TensorRT engine on the provided input. It uses pr | STRING |
| HIGH | …hon/rapidocr/inference_engine/tensorrt/memory_utils.py | 57 | Allocate host and device buffers for TensorRT inference. This function allocates memory buffers for all input and o | STRING |
| HIGH | …nce_engine/pytorch/networks/backbones/rec_pphgnetv2.py | 570 | use 'handle_func' to modify the sub-layer(s) specified by 'layer_name_pattern'. Args: layer_name_pa | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/rapidocr/ch_ppocr_det/main.py | 89 | # Step 1: Stable sort by y (top to bottom) | COMMENT |
| LOW⚡ | python/rapidocr/ch_ppocr_det/main.py | 95 | # Step 2: Assign line IDs based on adjacent y differences | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 109 | # Step 1: Set input shape for dynamic dimensions | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 112 | # Step 2: Copy input data to GPU | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 115 | # Step 3: Execute inference | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 118 | # Step 4: Copy output back to CPU | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | python/rapidocr/ch_ppocr_det/main.py | 89 | # Step 1: Stable sort by y (top to bottom) | COMMENT |
| LOW⚡ | python/rapidocr/ch_ppocr_det/main.py | 95 | # Step 2: Assign line IDs based on adjacent y differences | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 109 | # Step 1: Set input shape for dynamic dimensions | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 112 | # Step 2: Copy input data to GPU | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 115 | # Step 3: Execute inference | COMMENT |
| LOW⚡ | python/rapidocr/inference_engine/tensorrt/main.py | 118 | # Step 4: Copy output back to CPU | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ce_engine/pytorch/networks/architectures/base_model.py | 23 | # if you make model differently, you can use transfrom in det and cls | COMMENT |