TinyNet C 是 中等级别的 TinyNet 图像分类模型。TinyNet 系列由华为诺亚方舟实验室提出,通过在 EfficientNet 基础上优化网络宽度、深度和分辨率实现高效的精度-效率平衡。TinyNet C 在 TinyNet 系列中属于中等级别的 TinyNet 变体。
原始模型地址:
任务类型: 图像分类(Image Classification)
模型框架: PyTorch + timm
输入格式: 图像 (RGB, 184×184)
输出格式: 分类 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_c --device cpupython inference.py --model tinynet_c --device npupython compare_cpu_npu.py --model tinynet_c| 指标 | CPU | NPU |
|---|---|---|
| 平均推理耗时 | 22.53 ms | 10.8 ms |
| 加速比 | 1x | 2.09x |
| 排名 | CPU 类别 | CPU 概率 | NPU 类别 | NPU 概率 |
|---|---|---|---|---|
| 1 | 539 | 0.145413 | 539 | 0.145858 |
| 2 | 885 | 0.028803 | 885 | 0.028676 |
| 3 | 911 | 0.028521 | 911 | 0.028493 |
| 4 | 632 | 0.019050 | 632 | 0.018990 |
| 5 | 490 | 0.018212 | 490 | 0.018299 |
| 指标 | 数值 |
|---|---|
| 余弦相似度 (Cosine Similarity) | 0.99999851 |
| 最大绝对误差 (Max Abs Error) | 0.00743008 |
| 平均绝对误差 (Mean Abs Error) | 0.00156335 |
| 均方根误差 (RMSE) | 0.00193982 |
| 平均相对误差 (Relative Error) | 1.0208% |
| Top-1 一致 | ✓ 是 (类别 539) |
| Top-5 重叠数 | 5/5 |
结论:NPU 与 CPU 推理结果误差 < 1%(余弦相似度 > 0.99999,Top-1/5 完全一致),精度验证通过。
| 指标 | CPU | NPU |
|---|---|---|
| 设备 | Intel Xeon | Ascend 910 |
| 推理耗时 (5 次平均) | 22.53 ms | 10.8 ms |
| 加速比 | 1x | 2.09x |
| 输入尺寸 | 3×184×184 | 3×184×184 |
| batch size | 1 | 1 |