要把模型变成dataparallel的模型
net1 = nn.DataParallel(net1)
要注意的是,保存模型的时候要转回来
torch.save(net2.cpu().module.state_dict(), )
模型和Variable都要加.cuda()
模型是model = torch.nn.DataParallel(model).cuda()
转换成DataParallel型后,他就会在多GPU上运行了
这就是所谓的数据并行
数据并行是把每个minibatch分成好几份,每份在一个gpu上运行
几层在第一块gpu上运行,几层第二块?
那是模型并行
那就要在模型里制定哪些sub模型在第几个gpu