pytorch多GPU并行运算的实现

yipeiwu_com6年前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设计】。

相关文章

pyQt4实现俄罗斯方块游戏

本文实例为大家分享了pyQt4实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下 #!/usr/bin/python # -*- coding: utf-8 -*-...

Python3将数据保存为txt文件的方法

Python3将数据保存为txt文件的方法

Python3将数据保存为txt文件的方法,具体内容如下所示: f = open("data/model_Weight.txt",'a') #若文件不存在,系统自动创建。'a'表...

python写一个随机点名软件的实例

python写一个随机点名软件的实例

最近有个随机点名软件的需求,故写了一个,上代码:github地址 # -*- coding: utf-8 -*- # @Time : 18-12-31 下午4:21 # @Auth...

全面了解django的缓存机制及使用方法

全面了解django的缓存机制及使用方法

一、缓存目的 1、减小过载 2、避免重复计算 3、提高系统性能 二、如何进行缓存 三、缓存类型 四、缓存粒度分类 五、缓存的设置与使用 示例一: CACHES = {  ...

python每天定时运行某程序代码

思路:利用time函数返回的时间字符串与指定时间字符串做比较,相等的时候执行对应的操作。不知道大家的思路是什么,感觉这样比较耗CPU。。。。 此处设置为15:30:10 输出相应内容,需...