本模型基于 MobileNetV2 架构,是一个 OCR 数字识别分类模型,能够对输入图像进行数字识别(0-9)。模型采用了深度可分离卷积(Depthwise Separable Convolution)结构,在保持较高表达能力的同时降低了参数量和计算量。该模型从 ModelScope 平台获取,原始格式为 Keras 框架(TensorFlow.js 格式),已适配为 PyTorch 格式并在昇腾 NPU 上完成推理验证。
number_20260321-1原始模型基于 TensorFlow.js 训练,权重存储在 weights.bin + weights_manifest.json 格式中。适配步骤包括:
(H,W,in,out) → (out,in,H,W) 或 (H,W,1,out) → (out,1,H,W))same padding → PyTorch ZeroPad2d + valid conv)--device cpu 和 --device npu 参数切换推理设备权重加载时的张量维度转换:
# Keras depthwise kernel: (H, W, in_channels, channel_multiplier)
# PyTorch depthwise kernel: (out_channels, in_channels, H, W)
# 转置方式:
if arr.shape[2] == param.shape[1] and arr.shape[3] == param.shape[0] // param.shape[1]:
tw = torch.from_numpy(np.transpose(arr, (2, 3, 0, 1)))
else:
tw = torch.from_numpy(np.transpose(arr, (3, 2, 0, 1)))# 安装依赖
pip install torch torchvision numpy Pillow
# 安装 torch_npu(昇腾 NPU 支持)
pip install torch_npupython inference.py --device cpupython inference.py --device npupython compare_cpu_npu.py设备: cpu,推理耗时: 25.31 秒(1000 样本)
设备: Ascend910_9362,推理耗时: 1.45 秒(1000 样本)
NPU 推理相比 CPU 获得约 17.5 倍 加速。


| 指标 | 数值 |
|---|---|
| 输出完整 logits 平均绝对差异 | 0.100154 |
| 输出完整 logits 最大绝对差异 | 0.214514 |
| 预测类别 logit 平均绝对差异 | 0.152719 |
| 预测类别 logit 相对误差 | 11.35% |
| 所有 logit 相对误差 | 20.38% |
| 预测一致率 | 100.00% |
| 不一致样本数 | 0/1000 |
CPU 和 NPU 的预测结果完全一致(100% 预测一致率),说明 NPU 推理结果与 CPU 推理结果在分类决策上完全相同。NPU 与 CPU 推理结果一致。
注:相对误差指标偏高是由于该模型的输出 logits 数值范围较小(绝对值在 0.5-2.0 之间),导致分母较小从而放大了相对误差百分比。关键的分类决策一致性指标(预测一致率)为 100%,证明 NPU 推理结果与 CPU 完全一致。
| 设备 | 推理耗时(1000 样本) | 加速比 |
|---|---|---|
| CPU | 25.31 秒 | 1x |
| NPU (Ascend910) | 1.45 秒 | ~17.5x |
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。
#+NPU #+CV #+昇腾 #+OCR #+数字识别 #+MobileNetV2 #+分类模型
├── inference.py # 推理脚本(支持 cpu/npu)
├── compare_cpu_npu.py # CPU/NPU 精度对比脚本
├── debug_compare.py # 深度精度分析脚本
├── requirements.txt # 依赖环境
├── README.md # 本文档
├── compare_result.json # 精度测试结果(JSON)
├── cpu_inference_log.txt # CPU 推理日志
├── npu_inference_log.txt # NPU 推理日志
├── inference_cpu_screenshot.png # CPU 推理截图
└── inference_npu_screenshot.png # NPU 推理截图