g
gcw_StsIRaj1/pp-ocrv5-server-det-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

PaddlePaddle/PP-OCRv5_server_det 昇腾 NPU 适配

  • 官方模型池:Phase 3 / Row 11
  • 参赛微信名称:风云游子
  • 参赛 AtomGit ID:@gcw_StsIRaj1
  • 模型来源:https://huggingface.co/PaddlePaddle/PP-OCRv5_server_det
  • 官方可达镜像:https://ai.gitcode.com/hf_mirrors/PaddlePaddle/PP-OCRv5_server_det
  • 上游许可证:Apache-2.0
  • 推理引擎:official Paddle PIR graph + Paddle2ONNX + ATC + AscendCL
  • 验证硬件:Ascend910 / CANN / torch_npu / npu:0

作品结论

本作品在大赛官方远端 Ascend Model Agent 的 Ascend910 上加载真实 checkpoint,并完成 full official PP-OCRv5 server text detection graph forward。CPU fallback 被禁止;模型、输入与输出设备信息、权重加载审计、输出统计、软件版本和耗时均固化在 evidence/result.json。

固定官方 revision、87,932,887 字节权重与 SHA-256;完整 PP-OCRv5 server detection Paddle 图导出 ONNX、ATC 编译并由 AscendCL 执行。1×3×736×736 输入与 1×1×736×736 文本概率图均驻留 npu:0,ACL 前向输出全有限且无 CPU fallback。

适配边界

  1. 保留上游模型结构、参数与任务语义,只增加 NPU 设备迁移、必要的版本兼容和证据采集。
  2. 使用确定性合成输入执行最小可复现实验,避免外部数据集和网络波动影响复核。
  3. 加载失败、张量落回 CPU、输出非有限或形状不符时立即失败,不以随机初始化或 CPU 结果替代。
  4. 本作品验证官方权重的昇腾 NPU 前向推理链路可执行,不声称完成训练,也不把烟测统计解释为业务精度。

应用价值与决策边界

  • 目标场景:票据、扫描文档、商品包装和自然场景中的文本区域检测
  • 输入语义:1 张 736 × 736 的归一化 RGB 图像
  • 输出语义:1 × 1 × 736 × 736 文本区域概率图
  • 决策支持:验证 PP-OCRv5 服务端检测网络的完整 Ascend NPU 前向闭环
  • 证据边界:当前以确定性输入验证完整图;未在真实检测集评估 precision、recall、Hmean 或端到端 OCR 质量。

运行步骤

远端环境应预先安装版本匹配的 CANN、PyTorch 与 torch_npu,不要用普通 pip install 覆盖官方运行时。

python3 -m pip install -r requirements.txt

python3 inference.py --work-dir /tmp/atomgit/sprint3h/phase3-row11-ppocrv5-server-det --out outputs/result.json --device npu:0 --model-id PaddlePaddle/PP-OCRv5_server_det --official-revision ca867c897ecbca8873081573a802ad70d499cb94 --weight-bytes 87932887 --weight-sha256 183146fe9d9910352f68482f623bcbbb9fa7b9e8fa1463b9ad288cef00524d2d --input-shape 1,3,736,736 --input-name x --graph-name inference.json --weight-name inference.pdiparams --onnx-name model_op11.onnx --om-name ppocrv5_server_det.om --onnx-opset 11 --task-name 'full official PP-OCRv5 server text detection graph forward'
npu-smi info
cat outputs/result.json

实测证据

  • 模型状态设备:npu:0
  • 输入语义:[1,3,736,736]
  • 输出形状:[1,1,736,736]
  • 推理耗时:1355.139 ms
  • 权重加载:严格加载通过(0 缺失/0 意外)
  • 设备闭环:模型、输入、输出张量均为 npu:0
  • checkpoint SHA-256:183146fe9d9910352f68482f623bcbbb9fa7b9e8fa1463b9ad288cef00524d2d
  • checkpoint 总量:87,932,887 bytes / 1 shard files

evidence/result.json 是机器可读事实源;三张证据图分别呈现 Agent 适配流程、NPU 设备闭环和模型输出结果。

复核清单

  • 真实 checkpoint,非随机初始化
  • 禁止 CPU fallback
  • 模型状态位于 npu:0
  • 输入与输出设备逐字段记录
  • 输出形状和有限性门禁
  • 运行时版本与耗时固化
  • 模型许可证和适配边界明确

Agent适配截图

Agent适配全过程截图

Agent 适配流程

NPU设备调用截图

NPU 设备调用

模型适配结果截图

模型适配结果