Bvicii
Bvicii
Hi, I don't really know about sh script, but when I try to download COCO dataset using COCO2014.sh, I found out that there's a missing space that cause the script...
- Introduced `compose.multi_instance.yaml.example` for deploying multiple PaddleOCR API instances with a shared VLM inference service. - Added `nginx.multi_instance.conf` for Nginx load balancing configuration to distribute requests across API instances. -...
# Add warning for missing system fonts during PDF rendering - Introduced a new method `_check_missing_fonts` to identify non-embedded fonts and log warnings if found. - Added `is_embedded` method to...
## 概述 本次 PR 主要解决原训练流程的 text renderer 已无法使用的问题,将数据生成组件替换为新的 renderer,并新增了 pp-OCRv5 的训练 pipeline。 ## 主要改动 - 数据生成部分由原 @Sanster/text_renderer 切换为 @oh-my-ocr/text_renderer。 - 集成并添加了 pp-OCRv5 的完整训练流程。 ## 测试情况 - 已验证新 renderer 能正常生成训练数据。 -...
## 相关 Issue https://github.com/PaddlePaddle/PaddleOCR/issues/17133 ## 问题描述 使用 PPStructureV3 处理包含多个表格的图片时,单元格检测结果会出现混乱。问题原因如下: 1. **后处理 NMS 排序问题**:当多个表格裁剪区域在单个批次中处理时,NMS 后检测结果的排序可能会发生变化,导致单元格分配不再与其原始表格对齐。 2. **错误的分组逻辑**:原代码依赖扁平化预测结果的顺序(使用 `box_nums` 切片),而不是使用批次索引(`batch_inds`)将检测结果分组回其源表格。 3. **单表格正常,多表格失败**:单个表格时一切正常,但一旦多个裁剪区域被批处理在一起,就会出现单元格混合。 ## 解决方案 将分组逻辑改为依赖每个检测结果的 `batch_idx`(batch_inds),而不是依赖扁平化预测结果的顺序。这确保了即使在 NMS 后重新排序的情况下也能正确分组。 ### 实现细节 1. **优先级...
内存泄露问题修复
1. 使用 cv2.imencode 优化图像编码,降低内存占用。 2. 增加 malloc_trim 强制回收内存碎片。 3. 增加显式 GC 和对象删除逻辑。
根据:https://github.com/PaddlePaddle/PaddleX/issues/4730 将RT-DETR-L_wired_table_cell_det和RT-DETR-L_wireless_table_cell_det加入STATIC_SHAPE_MODEL_LIST,显式提醒无法修改输入大小。
修复 https://github.com/PaddlePaddle/PaddleOCR/issues/17068 **问题现象** ```python AttributeError: 'numpy.ndarray' object has no attribute 'append' ```` **问题原因** `layout_det_res["boxes"]` 在前序流程中被包装成了 `ndarray`,但后续逻辑仍然按列表调用 `layout_det_res["boxes"].append(...)`,导致报错。 **解决方案** 在调用 `append` 之前,将 `layout_det_res["boxes"]` 从 `ndarray` 显式还原为 `list`,保证后续 append 调用正常执行。
问题描述: 当OCR文本框跨越多个表格单元格需要拆分时,split_ocr_bboxes_by_table_cells方法只更新了rec_texts列表,但没有同步更新rec_scores列表,导致两者长度不一致。 修复内容: - 在split_ocr_bboxes_by_table_cells方法中添加对rec_scores的处理 - 拆分OCR框时,为每个拆分后的框提取并保存对应的置信度分数 - 未拆分时,保留原始置信度分数 - 确保rec_texts和rec_scores始终保持相同长度 修复文件: - paddlex/inference/pipelines/table_recognition/pipeline_v2.py Fixes: https://github.com/PaddlePaddle/PaddleOCR/issues/17051
### 预防性的修复 [https://github.com/PaddlePaddle/PaddleX/issues/4636](https://github.com/PaddlePaddle/PaddleX/issues/4636) 虽然本地尚未成功复现该 issue 描述的报错场景,但在排查 `from_pretrained` 加载流程时发现确实存在潜在的未绑定变量使用风险:`transpose_weight_keys` 仅在部分分支被赋值,在未走入 `get_transpose_weight_keys()` 的情况下仍会于 `load_state_dict(..., transpose_weight_keys=...)` 中被引用,从而可能触发 `UnboundLocalError`。 ### 变更说明 * 在 `paddlex/inference/models/common/vlm/transformers/model_utils.py:1800` 提前初始化: ```python transpose_weight_keys = None ``` * 保持原有逻辑:若模型实现 `get_transpose_weight_keys()`,则在后续分支中覆盖该值。 *...