link-web@知乎
https://zhuanlan.zhihu.com/p/86441879
编辑 极市平台
以下都在Ubuntu上面进行的调试, 使用的Ubuntu版本包括14, 18LST
1.单机多卡并行训练...1.1.torch.nn.DataParallel
我一般在使用多GPU的时候, 会喜欢使用os.environ['CUDA_VISIBLE_DEVICES']来限制使用的GPU个数, 例如我要使用第..._bsz, *args, **kwargs):
self.gpu0_bsz = gpu0_bsz
super()....举个例子, 比如你在3个GPU上面跑代码, 但是一个GPU最大只能跑3条数据, 但是因为0号GPU还要做一些数据的整合操作, 于是0号GPU只能跑2条数据, 这样一算, 你可以跑的大小是2+3+3=8,..., 然后才能使用DistributedDataParallel进行分发, 之后的使用和DataParallel就基本一样了
2.多机多gpu训练
在单机多gpu可以满足的情况下, 绝对不建议使用多机多gpu