Shortcuts

NPU (华为 昇腾)

使用方法

请参考 MMCV 的安装文档 来安装 NPU 版本的 MMCV。

以下展示单机八卡场景的运行指令:

bash tools/dist_train.sh configs/ssd/ssd300_coco.py 8

以下展示单机单卡下的运行指令:

python tools/train.py configs/ssd/ssd300_coco.py

模型验证结果

Model box AP mask AP Config Download
ssd300 25.6 --- config log
ssd512 29.4 --- config log
ssdlite-mbv2* 20.2 --- config log
retinanet-r18 31.8 --- config log
retinanet-r50 36.6 --- config log
yolov3-608 34.7 --- config log
yolox-s** 39.9 --- config log
centernet-r18 26.1 --- config log
fcos-r50* 36.1 --- config log
solov2-r50 --- 34.7 config log

注意:

  • 如果没有特别标记,NPU 上的结果与使用 FP32 的 GPU 上的结果结果相同。

  • (*) 这些模型在 NPU 上的结果与 GPU 上的混合精度训练结果一致,但低于 FP32 的结果。这种情况主要与模型本身在混合精度训练中的特点有关, 用户可以自行调整超参数来获得更高精度。

  • (**) GPU 上 yolox-s 在混合精度下的精度为 40.1 低于readme中 40.5 的水平;默认情况下,yolox-s 启用 persister_woker=True,但这个参数 目前在NPU上存在一些bug,会导致在最后几个epoch由于资源耗尽报错退出,对整体精度影响有限可以忽略。

Ascend加速模块验证结果

优化方案简介:

  1. 修改循环计算为一次整体计算,目的是减少下发指令数量。

  2. 修改索引计算为掩码计算,原因是SIMD架构芯片擅长处理连续数据计算。

Model Config v100 iter time 910A iter time
ascend-ssd300 config 0.165s/iter 0.383s/iter -> 0.13s/iter
ascend-retinanet-r18 config 0.567s/iter 0.780s/iter -> 0.420s/iter

以上模型结果由华为昇腾团队提供

Read the Docs v: v2.28.2
Versions
latest
stable
3.x
v2.28.2
v2.28.1
v2.28.0
v2.27.0
v2.26.0
v2.25.3
v2.25.2
v2.25.1
v2.25.0
v2.24.1
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.0
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.0
dev-3.x
dev
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.