本仓库提供 Pi3 的 Ascend NPU-only 运行入口。验收只确认真实 NPU 前向、输出形状/数量、有限值和正常退出,不进行 CPU golden 或精度比较,也没有 CPU fallback。
主模型与官方实现均固定到不可变 revision,并放在仓库相对目录:
git clone https://gitcode.com/hf_mirrors/yyfz233/Pi3.git model
git -C model checkout --detach ae722e7039287d0c8fde9f11f197f804f44b510c
git -C model lfs pull
mkdir -p third_party
git clone https://github.com/yyfz/Pi3.git third_party/Pi3
git -C third_party/Pi3 checkout --detach 9fa3ddb3f8d53041f8b2738df404f62223bbaa7b
git -C third_party/Pi3 apply ../../patches/pi3_npu.patch
python -m pip install --target ./pydeps --no-deps \
-i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt已验证平台为 Ascend 910_9362、CANN 8.5.1、Python 3.11、PyTorch 2.9 与
torch_npu 2.9.0.post1。容器保留平台提供的 CANN、torch 与 torch_npu;
requirements.txt 仅安装锁版模型级依赖。
patches/pi3_npu.patch 仅把 3×3 torch.det 展开为等价张量算式,避免 Ascend 上该算子回落 CPU。
source /usr/local/Ascend/cann-8.5.1/set_env.sh
PYTHONNOUSERSITE=1 PYTHONPATH=./pydeps:./third_party/Pi3 \
EVIDENCE_HOLD_SECONDS=90 \
python3 inference.py --model_path ./model --source_path ./third_party/Pi3 \
--device npu:1 --seed 20260817 --output_json result.json入口会在目标 NPU 上生成 8 组四视角输入并执行 8 次真实前向,产出 points、local_points、conf 与 camera_poses。设备必须为 npu:N;输出数量/形状、NaN/Inf 或退出状态异常会直接失败。
EVIDENCE_HOLD_SECONDS 可在真实 forward 后保持模型、输入与输出存活 0–600 秒,便于同时采集 PID、完整命令和 npu-smi info。
最终托管运行在 npu:1 完成 8 次真实 Pi3 forward。模型、输入和输出均位于
npu:1;8 个四视角 224×224 样本共输出 44,544 个值,全部 finite,退出码为 0。
结果截图记录的 forward_ms=606801.539493259 包含证据保持时间。两张设备图分别取自
07:12:22 与 07:15:18 UTC,均清晰显示 npu:1 上同一 PID 31699 及其显存占用。
assets/agent_workflow.pngassets/agent_workflow_2.pngassets/npu_device_call.pngassets/npu_device_call_2.pngassets/model_result.pngassets/model_result_2.png





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