d
dingdang666/RADIO-B-NPU
模型介绍文件和版本Pull Requests讨论分析

RADIO-B on Ascend NPU

1. 简介

本文档记录 RADIO-B(NVIDIA AM-RADIO 视觉编码器)在昇腾 NPU(Ascend 910B3)环境的适配部署与精度验证结果。

RADIO-B 是一种聚合式视觉基础模型(约 98M 参数),输出 2304 维 summary token 和 768 维空间特征,可用于图像分类、检索、分割等下游任务。本项目完成该模型在昇腾 NPU 上的推理适配,验证 NPU 与 CPU 结果的精度误差 < 1%。

相关地址:

  • 权重下载地址(HuggingFace):https://huggingface.co/nvidia/RADIO-B
  • 适配代码仓库:https://gitcode.com/dingdang666/RADIO-B-NPU

2. 验证环境

组件版本
python3.11.x
torch2.10.0+cpu
torch_npu2.10.0
transformers5.8.1
timm1.0.27
einops0.8.2
CANN8.5.1
  • NPU:Ascend 910B3

3. 模型信息

项目值
模型架构RADIO (ViT-based, multi-teacher)
参数量~98M
Summary 特征2304 维
空间特征768 维 (196 patches)
输入尺寸3×224×224
权重格式safetensors
框架PyTorch (transformers + trust_remote_code)

4. Conda 环境安装

conda create -n radio python=3.11 -y
conda activate radio
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/RADIO-B --image_path /path/to/img.jpg
python3 inference.py ... --device cpu
python3 benchmark.py --model_path /path/to/RADIO-B

6. 参数说明

脚本参数默认值
inference.py--devicenpu:0
benchmark.py--npu_device / --num_warmupnpu:0 / 3

7. 精度评测

输出相对误差余弦相似度SNR
summary0.787701%0.99996942.07 dB
spatial0.775504%0.99997142.21 dB
指标实测值阈值状态
向量级相对误差(最差)0.79%< 1%PASS

8. 性能数据

操作耗时
CPU(FP32)2.10s
NPU(FP32,3轮预热)0.24s
加速比8.59x

9. 注意事项

  1. 使用 trust_remote_code=True 加载本地自定义模型代码。
  2. 依赖 timm 和 einops 库。
  3. 输出为 tuple (summary, spatial_features)。
  4. 权重文件不包含在适配仓库中。
下载使用量0