pytorch 使用单个GPU与多个GPU进行训练与测试

pytorch 使用单个GPU与多个GPU进行训练与测试

使用多个GPU的原理就是通过上面这句代码将model在每个GPU上分别保存一份,然后对model的输入tensor进行自动的分割,每个GPU计算tensor的一部分,这样就能实现计算量的平均分配。在每个model计算完成之后,DataParallel将这些结果进行收集和融合,之后再将结果返回。

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 判断是否有GPU,没有的话使用CPU
model = Model()  #使用模型
if torch.cuda.device_count() > 1:
    model = nn.DataParallel(model)
model.to(device)  #模型送入GPU种
mytensor = my_tensor.to(device)  # 数据送入GPU
posted @ 2022-11-19 16:36  watsono  阅读(204)  评论(0编辑  收藏  举报