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实现换行符转换的脚本的教程
Apr 16 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
Python正则表达式和元字符详解
Nov 29 Python
python实现简单名片管理系统
Nov 30 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
python实现静态服务器
Sep 05 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
解决django FileFIELD的编码问题
Mar 30 Python
Python函数参数定义及传递方式解析
Jun 10 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
python中random模块详解
Mar 01 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加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
2011/06/16 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
Django封装交互接口代码
2020/07/12 Python
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
什么是Smart Navigation?
2016/07/03 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
事业单位接收函
2014/01/10 职场文书
文明学生标兵事迹
2014/01/21 职场文书
旅游网创业计划书
2014/01/31 职场文书
人力资源管理专业自荐书范文
2014/02/10 职场文书
小学生评语集锦
2014/04/18 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
电子商务求职信
2014/06/15 职场文书
新闻编辑求职信
2014/07/13 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书