pytorch使用指定GPU训练的实例


Posted in Python onAugust 19, 2019

本文适合多GPU的机器,并且每个用户需要单独使用GPU训练。

虽然pytorch提供了指定gpu的几种方式,但是使用不当的话会遇到out of memory的问题,主要是因为pytorch会在第0块gpu上初始化,并且会占用一定空间的显存。这种情况下,经常会出现指定的gpu明明是空闲的,但是因为第0块gpu被占满而无法运行,一直报out of memory错误。

解决方案如下:

指定环境变量,屏蔽第0块gpu

CUDA_VISIBLE_DEVICES = 1 main.py

这句话表示只有第1块gpu可见,其他gpu不可用,此时要注意第1块gpu已经变成第0块,因此代码里应该使用编号0来指定gpu。如果依然使用cuda:1会报invalid device ordinal。

当然也可以在代码里使用os模块达到同样效果:

import os

#多块使用逗号隔开
os.environ['CUDA_VISIBLE_DEVICES'] = '1'
使用torch.cuda.device
with torch.cuda.device(1):
 ...

注意这种情况下gpu编号也会改变

关于这个问题的讨论,感兴趣的也可以去这里查看cuda out of memory error when GPU0 memory is fully utilized

以上这篇pytorch使用指定GPU训练的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
Python3 中文文件读写方法
Jan 23 Python
Python中单例模式总结
Feb 20 Python
python将txt文件读入为np.array的方法
Oct 30 Python
Python高级特性与几种函数的讲解
Mar 08 Python
python使用Plotly绘图工具绘制水平条形图
Mar 25 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
django 微信网页授权登陆的实现
Jul 30 Python
Flask框架钩子函数功能与用法分析
Aug 02 Python
python装饰器练习题及答案
Nov 01 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
Python 数据分析之逐块读取文本的实现
Dec 14 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
PyTorch中Tensor的维度变换实现
Aug 18 #Python
PyTorch中Tensor的拼接与拆分的实现
Aug 18 #Python
You might like
jQuery chili图片远处放大插件
2009/11/30 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
javascript排序函数实现数字排序
2015/06/26 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
JavaScript实现横版菜单栏
2020/03/17 Javascript
python中对list去重的多种方法
2014/09/18 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
快速了解Python相对导入
2018/01/12 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
采购部主管岗位职责
2014/01/01 职场文书
应聘教师自荐书
2014/06/16 职场文书
2014年实验室工作总结
2014/12/03 职场文书
门店店长岗位职责
2015/04/14 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书