C-RADIOv2-B 在昇腾 NPU 上的部署
1. 简介
本文档记录 C-RADIOv2-B(NVIDIA C-RADIOv2 视觉编码器)在昇腾 NPU(Ascend 910B3)环境的适配部署与精度验证结果。
C-RADIOv2-B 是基于 AM-RADIO 架构的视觉编码器(约 98M 参数),输入 432×432 分辨率,输出 2304 维 summary token 和 768 维空间特征。本项目完成该模型在昇腾 NPU 上的推理适配,验证 NPU 与 CPU 结果的精度误差 < 1%。
相关地址:
2. 验证环境
| 组件 | 版本 |
|---|
python | 3.11.x |
torch / torch_npu | 2.10.0 |
transformers | 5.8.1 |
timm / einops | 1.0.27 / 0.8.2 |
CANN | 8.5.1 |
3. 模型信息
| 项目 | 值 |
|---|
| 架构 | RADIO v2 (ViT-based) |
| 参数量 | ~98M |
| Summary/空间特征 | 2304 / 768 维 |
| 输入尺寸 | 3×432×432 |
| 框架 | transformers trust_remote_code |
4. Conda 环境安装
conda create -n cradio python=3.11 -y
conda activate cradio
pip install torch==2.10.0 torchvision==0.25.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install torch_npu==2.10.0 --index-url https://repo.huaweicloud.com/repository/pypi/simple/
pip install transformers timm einops safetensors pillow --index-url https://repo.huaweicloud.com/repository/pypi/simple/
5. 推理执行
python3 inference.py --model_path /path/to/C-RADIOv2-B --image_path /path/to/img.jpg
python3 benchmark.py --model_path /path/to/C-RADIOv2-B
6. 精度评测
| 输出 | 相对误差 | 余弦相似度 | SNR |
|---|
| summary | 0.705% | 0.999975 | 43.03 dB |
| spatial | 0.622% | 0.999983 | 44.12 dB |
| 指标 | 实测 | 阈值 | 状态 |
|---|
| 最差相对误差 | 0.71% | < 1% | PASS |
7. 性能数据
| 操作 | 耗时 |
|---|
| CPU | 0.49s |
| NPU | 0.26s |
| 加速比 | 1.90x |
8. 注意事项
- 与 RADIO-B 同架构,输入分辨率更高(432×432)。
- 依赖
timm + einops。