mmpretrain/docs/zh_CN/device/npu.md

5.5 KiB
Raw Blame History

NPU (华为昇腾)

使用方法

首先,请参考链接安装带有 NPU 支持的 MMCV 和链接安装 MMEngine。

使用如下命令,可以利用 8 个 NPU 在机器上训练模型(以 ResNet 为例):

bash tools/dist_train.sh configs/cspnet/resnet50_8xb32_in1k.py 8

或者,使用如下命令,在一个 NPU 上训练模型(以 ResNet 为例):

python tools/train.py configs/cspnet/resnet50_8xb32_in1k.py

经过验证的模型

Model Top-1 (%) Top-5 (%) Config Download
ResNet-50 76.40 93.21 config model | log
ResNetXt-32x4d-50 77.48 93.75 config model | log
HRNet-W18 77.06 93.57 config model | log
ResNetV1D-152 79.41 94.48 config model | log
SE-ResNet-50 77.65 93.74 config model |log
ShuffleNetV2 1.0x 69.52 88.79 config model | log
MobileNetV2 71.74 90.28 config model | log
MobileNetV3-Small 67.09 87.17 config model | log
*CSPResNeXt50 77.25 93.46 config model | log
*EfficientNet-B4 75.73 92.9100 config model |log
**DenseNet121 72.53 90.85 config model | log

注意:

  • 如果没有特别标记NPU 上的结果与使用 FP32 的 GPU 上的结果结果相同。
  • (*) 这些模型的训练结果低于相应模型中自述文件上的结果,主要是因为自述文件上的结果直接是 timm 训练得出的权重,而这边的结果是根据 mmcls 的配置重新训练得到的结果。GPU 上的配置训练结果与 NPU 的结果相同。
  • (**)这个模型的精度略低,因为 config 是 4 张卡的配置,我们使用 8 张卡来运行,用户可以调整超参数以获得最佳精度结果。

以上所有模型权重及训练日志均由华为昇腾团队提供