赞
踩
这两篇有两种方法可以直接上代码
DataParallel(DP):Parameter Server模式,一张卡位reducer,实现也超级简单,一行代码。
DistributedDataParallel(DDP):All-Reduce模式,本意是用来分布式训练,但是也可用于单机多卡。
链接:https://fyubang.com/2019/07/23/distributed-training3/
链接:https://www.cnblogs.com/yh-blog/p/12877922.html
这篇方法很全:当代研究生应当掌握的并行训练方法(单机多卡)
nn.DataParallel简单方便的 nn.DataParallel
torch.distributed 使用 torch.distributed 加速并行训练
torch.multiprocessing 使用 torch.multiprocessing 取代启动器
apex 使用 apex 再加速
horovod horovod 的优雅实现
链接:https://zhuanlan.zhihu.com/p/98535650
apex 混合精度训练 github
其实混合精度训练就是平时用float16而不是float32,但是在激活函数梯度可能过小(如e-20+e-3)导致无法更新时候或者数据下溢时,先用float32再在后面操作舍入继续用float16 https://github.com/NVIDIA/apex/blob/master/examples/simple/distributed/distributed_data_parallel.py
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。