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爬虫之cookie使用方法
Feb 17 Python
批处理与python代码混合编程的方法
May 19 Python
详解python3实现的web端json通信协议
Dec 29 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 Python
python: line=f.readlines()消除line中\n的方法
Mar 19 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 Python
python asyncio 协程库的使用
Jan 21 Python
整理Python中常用的conda命令操作
Jun 15 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
php之CodeIgniter学习笔记
2013/06/17 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
asm.js使用示例代码
2013/11/28 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
vue组件实例解析
2017/01/10 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python文件比较示例分享
2014/01/10 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Python matplotlib可视化实例解析
2020/06/01 Python
keras和tensorflow使用fit_generator 批次训练操作
2020/07/03 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
python中常用的数据结构介绍
2021/01/12 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
大学毕业生个人自荐信范文
2014/01/08 职场文书
五年级语文教学反思
2014/01/30 职场文书
财务会计自荐信范文
2014/02/21 职场文书
竞争上岗实施方案
2014/03/21 职场文书
节能环保演讲稿
2014/08/28 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
药店营业员岗位职责
2015/04/14 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript