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中unittest模块做UT(单元测试)使用实例
Jun 12 Python
详解如何使用Python编写vim插件
Nov 28 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
详解python中init方法和随机数方法
Mar 13 Python
python实现扫描ip地址的小程序
Apr 16 Python
Python常用模块之requests模块用法分析
May 15 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
python代码如何实现余弦相似性计算
Feb 09 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
序列化Python对象的方法
Aug 01 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
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
浅谈php的优缺点
2015/07/14 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
python列表与元组详解实例
2013/11/01 Python
详解python3中tkinter知识点
2018/06/21 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
营业员演讲稿
2013/12/30 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
婚礼主持词
2014/03/13 职场文书
学校对教师的评语
2014/04/28 职场文书
生活小常识广播稿
2014/09/16 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
先进党员事迹材料
2014/12/24 职场文书
会计出纳岗位职责
2015/03/31 职场文书
纪录片信仰观后感
2015/06/08 职场文书
运动会班级前导词
2015/07/20 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL