e
gcw_GSiqzzLf/mixnet_m_ft_in1k-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

mixnet_m.ft_in1k 昇腾 NPU 适配

1. 模型简介

  • 模型名称:mixnet_m.ft_in1k
  • 模型架构:MixNet架构(混合深度可分离卷积)
  • 任务类型:图像分类
  • 模型参数量:5.0M
  • 数据集:在ImageNet-1K预训练
  • 原始地址:https://www.modelscope.cn/models/timm/mixnet_m.ft_in1k

2. 验证环境

组件版本
CANN8.5.1
torch2.9.0
torch_npu2.9.0.post1
timm1.0.27
Python3.11.14
NPUAscend 910B

3. 环境准备

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torch_npu timm Pillow numpy safetensors modelscope

4. 模型下载

python -c "from modelscope import snapshot_download; snapshot_download('timm/mixnet_m.ft_in1k')"

5. 推理命令

# CPU推理
python inference.py --device cpu

# NPU推理
python inference.py --device npu

# CPU vs NPU精度对比
python compare_cpu_npu.py

6. 推理结果

设备推理耗时 (ms)Top-1 标签
CPU56.72Doormat
NPU18.65Doormat

加速比:3.04x

7. 精度测试结果

指标值
Logits 余弦相似度0.99999928
概率最大差异0.0274%
Top-1 匹配是
Top-5 重叠5/5

精度测试结论:NPU与CPU推理结果误差为0.03%,小于1%,精度通过。

8. 核心代码示例

import torch
import torch_npu
import timm
from PIL import Image
from timm.data import resolve_data_config, create_transform

# 加载模型到NPU
model = timm.create_model('mixnet_m.ft_in1k', pretrained=True).to('npu:0')
model.eval()

# 预处理
transform = create_transform(**resolve_data_config({}, model=model))
img = transform(Image.open('test.jpg').convert('RGB')).unsqueeze(0).to('npu:0')

# 推理
with torch.no_grad():
    torch.npu.synchronize()
    output = model(img)
    torch.npu.synchronize()
    probs = torch.nn.functional.softmax(output.cpu()[0], dim=0)

9. 标签

#+NPU #+昇腾 #+图像分类 #+CV #+PyTorch #+timm #+MixNet

推理成功证据

以下日志展示了 NPU 推理成功的关键信息:

CPU Top-1: class 539 (doormat)
NPU Top-1: class 539 (doormat)
Top-1 Match: True
Top-5 Overlap: 5/5