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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
Python实现抓取页面上链接的简单爬虫分享
Jan 21 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
pycharm设置注释颜色的方法
May 23 Python
基于python绘制科赫雪花
Jun 22 Python
Python检测数据类型的方法总结
May 20 Python
python3安装crypto出错及解决方法
Jul 30 Python
python利用7z批量解压rar的实现
Aug 07 Python
通过自学python能找到工作吗
Jun 21 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
如何用 Python 制作 GitHub 消息助手
Feb 20 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
使用apache模块rewrite_module (转)
2007/02/14 PHP
基于win2003虚拟机中apache服务器的访问
2017/08/01 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
js module大战
2019/04/19 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
Python标准库内置函数complex介绍
2014/11/25 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
农村婚礼证婚词
2014/01/10 职场文书
淘宝活动策划方案
2014/02/06 职场文书
运动会获奖感言
2014/02/11 职场文书
法律进机关实施方案
2014/03/12 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers