当前位置:   article > 正文

pytorch的加速方法_torch dataparallel 能加快运行速度吗

torch dataparallel 能加快运行速度吗

 

DataParallel   -首先是torch.nn.DataParallel导入(多卡并行)

DataParallel 会将module复制到多个卡上,也会将每个batch均分到每张卡上,每张卡独立forward自己那份data,而在backward时,每个卡上的梯度会汇总到原始的module上(但是,这样的方式会造成原始module在的那张卡的显存压力比其他卡要大,也就是这种方式存在负载不均衡的情况),以此来实现并行。

所以模型必须先设定一个主卡,用来汇聚其余卡的信息,但是数据就不需要,所以模型先model.cuda(id)之后再model = nn,DataParallel(model, device= gpu_list),但是数据传入之前直接tensor.cuda即可,不用初始化主卡,数据会均分,但是实际上数据也是先加载到主卡上,默认0号卡,之后再均分。

Accumulating gradients 

本质上是增大batch,毕竟大batch比较稳定。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/922785
推荐阅读
相关标签
  

闽ICP备14008679号