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: dev
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
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.