Yanguan/convnext_base.clip_laion2b
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

convnext_base.clip_laion2b 模型卡片(NPU 适配版)

本仓库为 timm/convnext_base.clip_laion2b 模型提供在华为昇腾 NPU 上的适配推理、性能测试与精度验证脚本。

原始权重来源:https://huggingface.co/laion/CLIP-convnext_base_w-laion2B-s13B-b82K

模型介绍

属性数值
架构ConvNeXt Base
参数量88.22M
输入尺寸[3, 256, 256]
分类数640
预训练标签clip_laion2b

环境配置

前置依赖

  • Python >= 3.8
  • PyTorch >= 2.0
  • torch_npu(昇腾 NPU 驱动)
  • timm
  • torchvision
  • pillow

安装依赖

pip install torch torchvision timm pillow

说明:torch_npu 需根据您的 CANN 版本安装,请参考昇腾官方文档。

模型权重下载

modelscope download --model timm/convnext_base.clip_laion2b --local_dir ./weight/convnext_base.clip_laion2b

NPU 推理

在 NPU 上执行单图推理:

python3 inference.py --device npu --image assets/dog.jpg

运行输出示例

Loading model on NPU...
Loading image from assets/dog.jpg...
Input tensor shape: torch.Size([1, 3, 256, 256])
Output shape: torch.Size([1, 640])
Output top-5 values: [2.2282383  1.1283001  1.1260693  0.99978167 0.98627335]
Output top-5 indices: [493 505 526  97 125]
Inference completed successfully!

本模型通过 model.to("npu") 直接加载到 NPU 运行,无需对第三方库进行 monkey-patch。

性能测试

测试不同 batch size 下的推理延迟与吞吐量:

python3 benchmark.py --device npu

昇腾 NPU 测试结果

Batch Size平均延迟 (ms)吞吐量 (samples/s)
114.80267.56
216.028124.78
418.564215.47
824.214330.38
1635.435451.53

精度验证

对比 NPU 与 CPU 基线的输出一致性:

python3 accuracy.py --batch_size 1

验证结果(NPU vs CPU, Batch Size = 1, 20 组样本)

指标数值
MSE0.000003
MAE0.001318
范围归一化相对误差 (%)0.030748
余弦相似度0.999989
最大绝对差0.011655
Top-1 一致率100%
Top-5 一致率100%

验证结论:通过 — 范围归一化相对误差 = 0.0307% < 1%,余弦相似度 = 0.999989

文件说明

文件说明
inference.pyNPU 单图推理脚本
benchmark.py多 batch 延迟与吞吐量测试
accuracy.pyNPU 与 CPU 精度对比
assets/dog.jpg测试用示例图片
output/运行日志

引用

@inproceedings{liu2022convnet,
  title={A convnet for the 2020s},
  author={Liu, Zhuang and Mao, Hanzi and Wu, Chao-Yuan and Feichtenhofer, Christoph and Darrell, Trevor and Xie, Saining},
  booktitle={Proceedings of the IEEE/CVF conference on computer vision and pattern recognition},
  pages={11976--11986},
  year={2022}
}