2301_76761127/yolos-small-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

yolos-small 昇腾 NPU 适配

模型与范围

  • 官方模型地址:https://ai.gitcode.com/hf_mirrors/hustvl/yolos-small
  • 本次部署 revision:3d8f7130d3ce4907cb206fe1c8485dc8fe8703de
  • 架构:YOLOS-small ViT 目标检测;许可:Apache-2.0
  • 设备:Ascend910_9362,逻辑设备 npu:0
  • 只验收真实 NPU forward,不运行 CPU Golden,也不做 CPU/NPU 精度比较。

物料身份和完整性由部署前置流程负责。inference.py 不在运行时限制仓库身份、revision、SHA、manifest 或参数量;它保留 NPU-only、禁止 CPU 回退、参数/输入/输出设备、形状、数量、有限性和退出码门禁。

环境

官方容器实测为 Python 3.11、PyTorch 2.9.0+cpu、torch_npu 2.9.0、CANN 8.5.1。requirements.txt 提供完整模型层依赖,不替换平台 PyTorch、torch_npu 或 CANN。

git clone https://ai.gitcode.com/hf_mirrors/hustvl/yolos-small ./model
git -C ./model checkout --detach 3d8f7130d3ce4907cb206fe1c8485dc8fe8703de
git -C ./model lfs pull

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \
  --target ./pydeps -r requirements.txt

唯一运行入口

source /usr/local/Ascend/cann-8.5.1/set_env.sh
export PYTHONPATH="$PWD/pydeps:/usr/local/Ascend/cann-8.5.1/python/site-packages:${PYTHONPATH:-}"
python inference.py --model_path ./model --device npu:0 \
  --seed 20260816 --output_json audit/hosted-npu/npu_result.json

测试用例为 8 张确定性合成 RGB 图。原始 logits、预测框和 100 条检测结果的后处理均在目标 NPU 完成,共 81,600 个值;设备、形状、数量或有限性不满足要求都会非零退出。

官方容器真实结果

  • exit_status=0
  • requested/model/tensor/output = npu:0 / npu:0 / npu:0 / npu:0
  • 8 个样本、81,600 个完整检测输出值,全部有限
  • 两个设备截图时点来自同一真实推理进程 PID 124809
  • 原始结果:assets/npu_result.json

双份真实截图

第一组:

  • AtomCode 工作流规划
  • 真实 NPU 调用
  • 真实 NPU 输出

第二组为稍晚时点、内容更多的独立画面:

  • AtomCode 工作流规划 2
  • 真实 NPU 调用 2
  • 真实 NPU 输出 2

首张设备图已在同一真实 PID 存活时重新采集;两张设备图均同时显示完整命令和 npu-smi info。结果图来自本轮真实 JSON,两张 AgentFlow 图是官方容器内 AtomCode 的真实回复。

复现说明

模型权重不随仓库重新分发。按上方固定地址和 immutable revision 获取到仓库相对目录 ./model,安装唯一一份锁版 requirements.txt,再执行完整 NPU 命令即可。复现不依赖迁移机的 lane、共享缓存或 /data/atomcode-* 路径;本模型没有额外辅助模型或源码 checkout。只有最终 JSON 序列化发生在主机侧,模型数值路径全程位于 NPU。

本仓为 2301_76761127 队伍交付件(与备份账号合并提交)。