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


Posted in Python onAugust 19, 2019

如下所示:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")#第一行代码
model.to(device)#第二行代码

首先是上面两行代码放在读取数据之前。

mytensor = my_tensor.to(device)#第三行代码

然后是第三行代码。这句代码的意思是将所有最开始读取数据时的tersor变量copy一份到device所指定的GPU上去,之后的运算都在GPU上进行。需要注意的是这句话并不像前面的两行代码一样只需要写一遍,第三行代码需要写的次数就等于需要保存到GPU上的tensor变量个数;一般情况下这些tensor变量都是最开始读取数据时的tensor变量,后面所衍生的变量自然也都在GPU之上。

以上是使用单个GPU的情况。当你拥有多个GPU时,要想使用多个GPU进行训练和测试,需要在第一二行代码之间插上下面这样一个判断语句,其余的写法也都是一样的。

if torch.cuda.device_count() > 1:
 model = nn.DataParallel(model)

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

以上这篇pytorch 使用单个GPU与多个GPU进行训练与测试的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
Python中的并发处理之asyncio包使用的详解
Apr 03 Python
python实现猜数字小游戏
Mar 24 Python
基于Python中求和函数sum的用法详解
Jun 28 Python
Flask框架Flask-Login用法分析
Jul 23 Python
Python 加密与解密小结
Dec 06 Python
实例讲解Python脚本成为Windows中运行的exe文件
Jan 24 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
浅谈pycharm使用及设置方法
Sep 09 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
Python用Jira库来操作Jira
Dec 28 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 #Python
pytorch使用指定GPU训练的实例
Aug 19 #Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 #Python
pytorch 更改预训练模型网络结构的方法
Aug 19 #Python
pytorch打印网络结构的实例
Aug 19 #Python
pytorch索引查找 index_select的例子
Aug 18 #Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 #Python
You might like
PHP5 安装方法
2006/10/09 PHP
smarty中post用法实例
2014/11/28 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
python构造IP报文实例
2020/05/05 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
英语专业毕业生自荐信范文
2013/12/31 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
学校节能减排倡议书
2014/05/16 职场文书
支部书记四风对照材料
2014/08/28 职场文书
在CSS中映射鼠标位置并实现通过鼠标移动控制页面元素效果(实例代码)
2021/04/22 HTML / CSS
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android