g
gcw_C8PI9e90/xcit_medium_24_p16_384-npu
模型介绍文件和版本Pull Requests讨论分析

xcit_medium_24_p16_384 昇腾 NPU 适配

模型介绍

XCiT (Cross-Covariance Image Transformer) 是一种基于交叉协方差注意力(Cross-Covariance Attention)的图像分类模型,由 Facebook AI 提出。xcit_medium_24_p16_384 是 XCiT 系列中的中等大小模型变体,拥有 24 层 Transformer、patch size 为 16,输入分辨率为 384×384。

  • 模型架构:XCiT-medium (24 layers, 8 heads, 384 dim)
  • 输入尺寸:384 × 384
  • patch size:16 × 16
  • 参数量:约 84M
  • 预训练数据:ImageNet-1k

原始模型地址

  • ModelScope: timm/xcit_medium_24_p16_384.fb_dist_in1k
  • HuggingFace: timm/xcit_medium_24_p16_384.fb_dist_in1k

任务类型

图像分类(Image Classification)

模型框架

PyTorch + timm

输入格式

(batch_size, 3, 384, 384) 的浮点张量。

输出格式

(batch_size, 1000) 的 logits 张量。

依赖环境

依赖版本要求
Python>= 3.9
PyTorch>= 2.0.0
torch_npu>= 2.0.0
timm>= 1.0.0
modelscope>= 1.0.0

NPU 适配说明

无需修改模型结构,适配步骤:

  1. 使用 modelscope 下载模型权重
  2. 通过 timm 创建模型并加载本地权重
  3. 调用 model.to("npu:0") 将模型迁移到 NPU
  4. 直接执行推理

推理命令

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

# NPU 推理
python3 inference.py --device npu:0

推理结果

设备平均推理耗时 (ms)吞吐量 (samples/sec)
CPU (Intel Xeon)1871.650.53
NPU (Ascend910B)21.9445.59

NPU 推理速度约为 CPU 的 85 倍。

CPU/NPU 精度测试结果

Logits 对比

指标值
最大绝对误差3.616953e-02
平均绝对误差5.535418e-03

概率输出对比

指标值
最大绝对误差5.120397e-03
平均绝对误差1.150888e-05

Top-1 类别一致性

设备Top-1 类别
CPU111
NPU111
一致性100%

结论

NPU 与 CPU 推理结果误差 < 1%(最大概率误差为 0.5120%),精度完全满足要求。

精度结论

基于现有评测数据,CPU 与 NPU 的 平均绝对误差 精度误差为 0.5535%,小于 1% 的精度要求。

运行截图

终端运行截图

推理成功证据

本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:

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

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

推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。

模型标签

  • #+NPU
  • #+CV
  • #+图像分类
  • #+昇腾
  • #+XCiT
下载使用量0