TinyNet B 是 较大尺寸的 TinyNet 图像分类模型。TinyNet 系列由华为诺亚方舟实验室提出,通过在 EfficientNet 基础上优化网络宽度、深度和分辨率实现高效的精度-效率平衡。TinyNet B 在 TinyNet 系列中属于较大尺寸的 TinyNet 变体。
原始模型地址:
任务类型: 图像分类(Image Classification)
模型框架: PyTorch + timm
输入格式: 图像 (RGB, 188×188)
输出格式: 分类 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_b --device cpupython inference.py --model tinynet_b --device npupython compare_cpu_npu.py --model tinynet_b| 指标 | CPU | NPU |
|---|---|---|
| 平均推理耗时 | 34.78 ms | 7.67 ms |
| 加速比 | 1x | 4.53x |
| 排名 | CPU 类别 | CPU 概率 | NPU 类别 | NPU 概率 |
|---|---|---|---|---|
| 1 | 0 | 0.651555 | 0 | 0.651830 |
| 2 | 1 | 0.028677 | 1 | 0.028664 |
| 3 | 397 | 0.026001 | 397 | 0.025943 |
| 4 | 389 | 0.018232 | 389 | 0.018166 |
| 5 | 29 | 0.007805 | 29 | 0.007794 |
| 指标 | 数值 |
|---|---|
| 余弦相似度 (Cosine Similarity) | 0.99999976 |
| 最大绝对误差 (Max Abs Error) | 0.00333071 |
| 平均绝对误差 (Mean Abs Error) | 0.00051896 |
| 均方根误差 (RMSE) | 0.00066563 |
| 平均相对误差 (Relative Error) | 0.3453% |
| Top-1 一致 | ✓ 是 (类别 0) |
| Top-5 重叠数 | 5/5 |
结论:NPU 与 CPU 推理结果误差 < 1%(余弦相似度 > 0.99999,Top-1/5 完全一致),精度验证通过。
| 指标 | CPU | NPU |
|---|---|---|
| 设备 | Intel Xeon | Ascend 910 |
| 推理耗时 (5 次平均) | 34.78 ms | 7.67 ms |
| 加速比 | 1x | 4.53x |
| 输入尺寸 | 3×188×188 | 3×188×188 |
| batch size | 1 | 1 |