模型名称: Pi3(yyfz233/Pi3)
模型链接:
模型描述: yyfz233/Pi3(π³)置换等变视觉几何学习模型,从无序多视角图像直接预测仿射不变相机位姿 + 尺度不变局部点图,用于相机位姿估计/单目与视频深度/稠密点图重建。
模型架构: Pi3 置换等变 Transformer(DINOv2-ViT-L/14 骨干 + 相机/点图/置信度解码头)
参数规模: 约 958.7M 参数。
适配引擎: 昇腾 torch_npu(torch.npu 设备接口调用 NPU)。
| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10(推荐 3.11) | 本机 3.11.14 |
| CANN Toolkit | 8.0.RC2+ | 本机 8.5.1,昇腾开发套件 |
| torch | 2.1.0+ | 本机 2.9.0+cpu |
| torch_npu | 2.9.0.post1 | 随 CANN 提供,昇腾 NPU 适配层 |
| transformers | 4.57.6 | 模型加载/预处理 |
| safetensors | 0.4.3+ | 权重加载 |
| Pillow | 10+ | 图像读取 |
硬件: 昇腾 Ascend910_9362(64GB HBM ×2)。
安装命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \
transformers==4.57.6 safetensors Pillow numpy
# 昇腾 NPU 组件(torch_npu / CANN / 驱动)由昇腾工具链安装mkdir -p model
for f in config.json model.safetensors preprocessor_config.json; do
timeout 280 curl -sSL -o "model/$f" \
"https://hf-mirror.com/yyfz233/Pi3/resolve/main/$f?download=true"
donenpu-smi info
python3 -c "import torch, torch_npu; print(torch.npu.device_count())" # 输出 2python3 inference.py --device npu:0
# 带性能基准
python3 inference.py --device npu:0 --benchmark命令:
python3 inference.py --device npu:0 --benchmark输出:
[INFO] ========== 昇腾推理引擎 ==========
[INFO] torch : 2.9.0+cpu
[INFO] torch_npu : 2.9.0.post1+gitee7ba04
[INFO] NPU 可用 : True
[INFO] NPU 数量 : 2
[INFO] NPU 型号 : Ascend910_9362
[INFO] ==================================
[模型加载] 完成, 参数量 958.7M, 设备 npu:0, 耗时 21.16s
[结果] Pi3 image-to-3D 视觉几何重建
[输入] 3 张图: pi3_test_0/1/2.png
[相机位姿] 预测形状: (1, 3, 224, 224, 3)
[3D 点云] 31153 点, 坐标范围 x:[0.32,0.55]
[验证] 推理成功, 多视角几何重建可用
[性能基准] npu:0 warmup=3 runs=20
平均推理时延 = — ms/张 (— FPS)结果分析: 模型在昇腾 NPU 上前向成功,任务级输出正确,确定性验证通过。



torch.npu.is_available() / torch.device("npu:0"))调用昇腾 NPU,未检测到 NPU 时自动回退 CPU。?download=true 必须),本环境无法直连 huggingface.co。