pytorch多GPU并行运算的实现

yipeiwu_com7年前Python基础

Pytorch多GPU运行

设置可用GPU环境变量。例如,使用0号和1号GPU'

os.environ["CUDA_VISIBLE_DEVICES"] = '0,1'

设置模型参数放置到多个GPU上。在pytorch1.0之后的版本中,多GPU运行变得十分方便,先将模型的参数设置并行

    if torch.cuda.device_count() > 1:
      print("Let's use", torch.cuda.device_count(), "GPUs!")
      model = nn.DataParallel(model)

将模型参数设置使用GPU运行

    if torch.cuda.is_available():
      model.cuda()

踩坑记录

在训练中,需要使用验证集/测试集对目前的准确率进行测试,验证集/测试集的加载也会占用部分显存,所以在训练开始时,不要将所有显存都几乎占满,稍微留一些显存给训练过程中的测试环节

pytorch并行后,假设batchsize设置为64,表示每张并行使用的GPU都使用batchsize=64来计算(单张卡使用时,使用batchsize=64比较合适时,多张卡并行时,batchsize仍为64比较合适,而不是64*并行卡数)。

参考

https://www.zhihu.com/question/67726969

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python字符串拼接、截取及替换方法总结分析

本文实例讲述了Python字符串拼接、截取及替换方法。分享给大家供大家参考,具体如下: python字符串连接 python字符串连接有几种方法,我开始用的第一个方法效率是最低的,后来看...

python字典嵌套字典的情况下找到某个key的value详解

最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(...

Python3 能振兴 Python的原因分析

我从Stephen A. Goss那读到关于了《Python 3正在毁灭Python》。这篇文章有不少精彩的论点,但我却并不认为Python 3是在毁灭Python,也不认为整个局面对P...

Python线性拟合实现函数与用法示例

Python线性拟合实现函数与用法示例

本文实例讲述了Python线性拟合实现函数与用法。分享给大家供大家参考,具体如下: 1. 参考别人写的: #-*- coding:utf-8 -*- import math impo...

在Python的Bottle框架中使用微信API的示例

在Python的Bottle框架中使用微信API的示例

微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步。蛋疼的以为微信会出一个详细的api等接口,兴奋不已的去申请了微信公共平台,然后开始找各种ap...