tf_mixnet_s.in1k 是 MixNet(Mixed Depthwise Convolutional Kernels)系列中的轻量级变体,由 Google Research 提出。MixNet 通过混合不同大小的深度可分离卷积核(如 3x3、5x5、7x7)来优化卷积神经网络的精度和效率平衡。tf_mixnet_s 是 MixNet 的 Small 版本,在 ImageNet-1K 上预训练,适合资源受限场景下的图像分类任务。
原始模型地址:
图像分类(Image Classification)
tf_mixnet_s(MixNet Small)| 项目 | 说明 |
|---|---|
| 输入尺寸 | (1, 3, 224, 224) — 批量大小 1,RGB 3 通道,224×224 像素 |
| 输入格式 | 经过归一化的 RGB 图像张量(mean=[0.485,0.456,0.406], std=[0.229,0.224,0.225]) |
| 输出尺寸 | (1, 1000) — 批量大小 1,1000 类 ImageNet 分类 logits |
| 输出格式 | 未归一化的分类分数(logits),通过 Softmax 可转换为概率 |
| 组件 | 版本 |
|---|---|
| Python | 3.11.14 |
| PyTorch | 2.9.0 |
| torch_npu | 2.9.0.post1 |
| timm | ≥0.9.0 |
| Pillow | ≥9.0.0 |
| safetensors | ≥0.3.0 |
| 昇腾 CANN | 8.5.1 |
| NPU | Ascend910 |
本模型为纯 PyTorch 图像分类模型,通过 timm 框架加载预训练权重,可直接在昇腾 NPU 上运行。适配要点:
timm.create_model() 创建模型架构,从 ModelScope 下载的 safetensors 权重文件加载参数。.to('npu:0') 将模型参数和输入张量迁移至 NPU。torch.no_grad() 上下文关闭梯度计算。# 安装依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple timm torch torch_npu pillow safetensors
# 检查 NPU 环境
python3 -c "import torch; print(torch.npu.is_available())"python3 inference.py \
--model tf_mixnet_s.in1k \
--checkpoint-dir /path/to/model/dir \
--device cpupython3 inference.py \
--model tf_mixnet_s.in1k \
--checkpoint-dir /path/to/model/dir \
--device npupython3 compare_cpu_npu.py| 排名 | 类别 ID | 概率 |
|---|---|---|
| 1 | 852 | 0.040929 |
| 2 | 971 | 0.036983 |
| 3 | 911 | 0.036374 |
| 4 | 574 | 0.023421 |
| 5 | 539 | 0.020213 |
CPU 推理耗时:0.0461s
| 排名 | 类别 ID | 概率 |
|---|---|---|
| 1 | 852 | 0.040928 |
| 2 | 971 | 0.036981 |
| 3 | 911 | 0.036372 |
| 4 | 574 | 0.023420 |
| 5 | 539 | 0.020212 |
NPU 推理耗时:0.0112s
| 指标 | CPU | NPU | 加速比 |
|---|---|---|---|
| 推理耗时 | 0.0461s | 0.0112s | 4.12x |
| 指标 | 数值 |
|---|---|
| 最大绝对误差(Max Absolute Error) | 0.00749874 |
| 平均绝对误差(Mean Absolute Error) | 0.00156156 |
| 均方误差(MSE) | 0.00000393 |
| MAE/Mean(|CPU|) 比率 | 0.158% |
| 余弦相似度(Cosine Similarity) | 0.99999881 |
| Top-1 分类一致性 | 一致 |
| Top-5 分类一致性 | 一致 |
| 最大概率差异 | 0.00018097 |
| 平均概率差异 | 0.00000219 |
NPU 与 CPU 推理结果误差为 0.158%,远低于 1% 的阈值。Top-1 和 Top-5 分类结果完全一致,余弦相似度为 0.99999881,表明 NPU 推理精度完全符合要求。

import torch
import torch_npu
from timm import create_model
from safetensors.torch import load_file
# 加载模型
model = create_model('tf_mixnet_s.in1k', pretrained=False)
state_dict = load_file('path/to/model.safetensors')
model.load_state_dict(state_dict)
model = model.to('npu:0')
model.eval()
# 推理
with torch.no_grad():
input_tensor = torch.randn(1, 3, 224, 224).to('npu:0')
output = model(input_tensor)
probs = torch.nn.functional.softmax(output[0], dim=0)
top5 = probs.topk(5)
print(top5)from modelscope import snapshot_download
model_path = snapshot_download('timm/tf_mixnet_s.in1k')#+NPU — 适配昇腾 NPU#+CV — 计算机视觉#+图像分类 — 图像分类任务#+昇腾 — 华为昇腾平台#+MixNet — MixNet 架构#+timm — timm 模型库本模型仓库由 model-agent 自动生成,用于昇腾 NPU 适配验证。