DataParallel 几个gpu同时运行,每个处理不同的样例,而不是每个在同一个样例的不同阶段,然后一同把梯度加起来作为最终结果。这样子,如果一个batch是128,4个gpu,哪个一个batch分成4份喂到gpu里面,这样其实和一个gpu是一样结果的。
torch.cuda()会把现在创建的tensor都创建在当前选择的device里面。
b = torch.tensor([1., 2.]).cuda()这是两步动作,先在cpu创建,后放到gpu中。一步动作:
b2 = torch.tensor([1., 2.]).to(device=cuda)
原文:https://www.cnblogs.com/waldenlake/p/9716702.html