XCiT (Cross-Covariance Image Transformer) 是一种基于交叉协方差注意力(Cross-Covariance Attention)的图像分类模型,由 Facebook AI 提出。xcit_medium_24_p16_384 是 XCiT 系列中的中等大小模型变体,拥有 24 层 Transformer、patch size 为 16,输入分辨率为 384×384。
图像分类(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 |
无需修改模型结构,适配步骤:
model.to("npu:0") 将模型迁移到 NPU# CPU 推理
python3 inference.py --device cpu
# NPU 推理
python3 inference.py --device npu:0| 设备 | 平均推理耗时 (ms) | 吞吐量 (samples/sec) |
|---|---|---|
| CPU (Intel Xeon) | 1871.65 | 0.53 |
| NPU (Ascend910B) | 21.94 | 45.59 |
NPU 推理速度约为 CPU 的 85 倍。
| 指标 | 值 |
|---|---|
| 最大绝对误差 | 3.616953e-02 |
| 平均绝对误差 | 5.535418e-03 |
| 指标 | 值 |
|---|---|
| 最大绝对误差 | 5.120397e-03 |
| 平均绝对误差 | 1.150888e-05 |
| 设备 | Top-1 类别 |
|---|---|
| CPU | 111 |
| NPU | 111 |
| 一致性 | 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 上推理成功。