TinyNet A 是 TinyNet 系列中最大 TinyNet 图像分类模型。TinyNet 系列由华为诺亚方舟实验室提出,通过在 EfficientNet 基础上优化网络宽度、深度和分辨率实现高效的精度-效率平衡。TinyNet A 在 TinyNet 系列中属于TinyNet 系列中最大变体。
原始模型地址:
任务类型: 图像分类(Image Classification)
模型框架: PyTorch + timm
输入格式: 图像 (RGB, 192×192)
输出格式: 分类 logits (1000 类 ImageNet)
| 组件 | 版本 |
|---|---|
| Python | 3.10+ |
| PyTorch | 2.0+ |
| torch_npu | 2.0+ (Ascend NPU) |
| timm | 0.9.0+ |
| torchvision | 0.15.0+ |
| Pillow | 9.0.0+ |
| modelscope | 1.0.0+ |
使用 timm 库加载 PyTorch 模型权重,在昇腾 NPU 上通过 torch_npu 进行推理。通过 ModelScope 下载权重,使用 model.to('npu:0') 迁移到昇腾 NPU。无需修改模型代码。
pip install torch torch_npu timm torchvision Pillow numpy modelscope safetensorspython inference.py --model tinynet_a --device cpupython inference.py --model tinynet_a --device npupython compare_cpu_npu.py --model tinynet_a| 指标 | CPU | NPU |
|---|---|---|
| 平均推理耗时 | 46.69 ms | 7.78 ms |
| 加速比 | 1x | 6.0x |
| 排名 | CPU 类别 | CPU 概率 | NPU 类别 | NPU 概率 |
|---|---|---|---|---|
| 1 | 623 | 0.017461 | 623 | 0.017459 |
| 2 | 844 | 0.014848 | 844 | 0.014833 |
| 3 | 885 | 0.013222 | 885 | 0.013214 |
| 4 | 892 | 0.011363 | 892 | 0.011374 |
| 5 | 783 | 0.009775 | 783 | 0.009782 |
| 指标 | 数值 |
|---|---|
| 余弦相似度 (Cosine Similarity) | 0.99999964 |
| 最大绝对误差 (Max Abs Error) | 0.00262508 |
| 平均绝对误差 (Mean Abs Error) | 0.00065927 |
| 均方根误差 (RMSE) | 0.00082893 |
| 平均相对误差 (Relative Error) | 0.6576% |
| Top-1 一致 | ✓ 是 (类别 623) |
| Top-5 重叠数 | 5/5 |
结论:NPU 与 CPU 推理结果误差 < 1%(余弦相似度 > 0.99999,Top-1/5 完全一致),精度验证通过。
| 指标 | CPU | NPU |
|---|---|---|
| 设备 | Intel Xeon | Ascend 910 |
| 推理耗时 (5 次平均) | 46.69 ms | 7.78 ms |
| 加速比 | 1x | 6.0x |
| 输入尺寸 | 3×192×192 | 3×192×192 |
| batch size | 1 | 1 |