如何使用多块GPU

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ccbrid/article/details/79644619

要把模型变成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

展开阅读全文

没有更多推荐了,返回首页