多GPU训练+测试

多GPU训练+测试效果对比

为了缩短训练时间,最简单直接的方法就是增加GPU数量,本文采用单机多GPU,在不同网络模型下训练,对比训练时间及模型精度,得到多GPU训练效果的初步结论

实验数据

Resnet50+Keras+CIFAR-10

batchsize=800*GPU数
epoch=[40,50,60,70]

训练时间
Resnet50时间
精确率
Resnet50查准率
召回率
Resnet50查全率

Unet+Pytorch+VOC2007

batchsize=30*GPU数
epoch=[70,80,90,100]
训练时间
Unet时间
IOU
Unet IOU

FasterRCNN+TensorFlow detection API+VOC2007

batchsize=5*GPU数
epoch=[5,10,15,20]
训练时间
API时间
精确率
API查准率
召回率
API查全率
IOU
API IOU

FasterRCNN+mmdetection+VOC2007

batchsize=16*GPU数
epoch=[5,10,15,20]
训练时间
mm时间
精确率
mm查准率
召回率
mm查全率
IOU
mmIOU

MaskRCNN+mmdetection+VOC2012

batchsize=10*GPU数
epoch=[5,10,15,20]
训练时间
Mask时间
IOU
Mask IOU

MSRCNN+mmdetection+VOC2012

batchsize=5*GPU数
epoch=[5,10,15,20]
训练时间
MS时间
IOU
MSIOU

实验结论

结果比对

精确率召回率IOU1GPU2GPU3GPU4GPU
Resnet50+Keras无影响无影响无影响100%66%59%48%
Unet+Pytorch无影响无影响无影响100%89%86%91%
FasterRCNN+Tensorflow detetion API无影响无影响无影响100%50%34%26%
FasterRCNN+mmdetection无影响无影响无影响100%61%51%49%
MaskRCNN+mmdetection无影响无影响无影响100%65%55%51%
MSRCNN+mmdetect无影响无影响无影响100%66%49%42%
平均值\\\100%66.2%55.7%51.2%

1)GPU数量几乎不影响模型精度,2块、3块、4块GPU的训练时间平均占1块GPU的66.2%、55.7%、51.2%
2)FasterRCNN+TensorFlow detection API框架下,多GPU训练节约相对时间最多
3)总体上说,GPU越多,训练越快;网络模型越复杂(如检测,实例分割网络等),多GPU训练节约相对时间越多

结果分析

1.多GPU之间传输数据速度慢, 在传输过程中存在数据的丢失和错误导致精度下降
2.在CPU上进行参数梯度同步占每一步训练的很多时间
参考链接:multi_gpu_model训练速度慢原因

It seems that CPU-side data-preprocessing can be one of the reason that greatly slow down the multi-GPU training, do you try disabling some pre-processing options such as data-augmentation and then see any boost?
Besides, the current version of multi_gpu_model seems to benefit large NN-models only, such as Xception, since weights synchronization is not the bottleneck. When it is wrapped to simple model such as mnist_cnn and cifar_cnn, weights synchronization is pretty frequent and makes the whole time much slower.

当中指出:当前版本的multi_gpu_model只对大型的模型有利,比如Xception,因为此时权值同步并不是影响训练时间和精度主要因素。当它被包装成简单的模型,如mnist_cnn和cifar_cnn时,权值同步非常频繁,使得整个时间变得非常慢。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值