本模型是基于 MNIST 数据集的手写数字识别分类模型。模型采用卷积神经网络架构,能够识别 0-9 的手写数字。该模型从 ModelScope 平台获取,原始格式为 Keras 框架,已适配为 PyTorch 格式并在昇腾 NPU 上完成推理验证。
minst_hand_writing_nums_configuration_model原始模型为 Keras 框架训练,通过以下步骤完成 NPU 适配:
weights.bin) 读取权重参数--device cpu 和 --device npu 参数切换推理设备# 安装依赖
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,推理耗时: 24.72 秒(10000 样本)
准确率: 97.74%
设备: Ascend910_9362,推理耗时: 0.99 秒(10000 样本)
准确率: 97.74%
性能提升约 25 倍。

| 指标 | 数值 |
|---|---|
| CPU 准确率 | 97.74% |
| NPU 准确率 | 97.74% |
| 输出 logits 平均绝对差异 | 0.000476 |
| 输出 logits 最大绝对差异 | 0.003566 |
| 预测一致率 | 100.00% |
| 相对误差 | 0.0045% |
| 不一致样本数 | 0/10000 |
NPU 与 CPU 推理结果相对误差为 0.0045%,小于 1%,符合精度要求。
| 设备 | 推理耗时(10000 样本) | 加速比 |
|---|---|---|
| CPU | 24.72 秒 | 1x |
| NPU (Ascend910) | 0.99 秒 | ~25x |
NPU 推理相比 CPU 获得约 25 倍加速,同时精度完全一致。
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。
#+NPU #+CV #+昇腾 #+手写数字识别 #+分类模型
├── inference.py # 推理脚本(支持 cpu/npu)
├── compare_cpu_npu.py # CPU/NPU 精度对比脚本
├── requirements.txt # 依赖环境
├── README.md # 本文档
├── compare_result.json # 精度测试结果(JSON)
├── cpu_inference_log.txt # CPU 推理日志
├── npu_inference_log.txt # NPU 推理日志
└── inference_screenshot.png # 推理截图