pytorch多GPU并行运算

2019-03-31  本文已影响0人  FelixCoder

Pytorch多GPU运行

  1. 设置可用GPU环境变量。例如,使用0号和1号GPU'
    os.environ["CUDA_VISIBLE_DEVICES"] = '0,1'
  2. 设置模型参数放置到多个GPU上。在pytorch1.0之后的版本中,多GPU运行变得十分方便,先将模型的参数设置并行
        if torch.cuda.device_count() > 1:
            print("Let's use", torch.cuda.device_count(), "GPUs!")
            model = nn.DataParallel(model)
  1. 将模型参数设置使用GPU运行
        if torch.cuda.is_available():
            model.cuda()

踩坑记录

  1. 在训练中,需要使用验证集/测试集对目前的准确率进行测试,验证集/测试集的加载也会占用部分显存,所以在训练开始时,不要将所有显存都几乎占满,稍微留一些显存给训练过程中的测试环节
  2. pytorch并行后,假设batchsize设置为64,表示每张并行使用的GPU都使用batchsize=64来计算(单张卡使用时,使用batchsize=64比较合适时,多张卡并行时,batchsize仍为64比较合适,而不是64*并行卡数)。

参考

  1. https://www.zhihu.com/question/67726969
上一篇下一篇

猜你喜欢

热点阅读