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 相关文章推荐
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
超简单使用Python换脸实例
Mar 27 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
Django1.11自带分页器paginator的使用方法
Oct 31 Python
python定时任务 sched模块用法实例
Nov 04 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
记录模型训练时loss值的变化情况
Jun 16 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 Python
详解Python 3.10 中的新功能和变化
Apr 28 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
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
50个比较实用jQuery代码段
2011/09/18 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
NumPy排序的实现
2020/01/21 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
CSS3 实现弹跳的小球动画
2020/10/26 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
护士毕业实习感言
2014/03/05 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
入党介绍人考察意见
2015/06/01 职场文书
单身证明格式样本
2015/06/15 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书