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批量导出导入MySQL用户的方法
Nov 15 Python
python获取指定目录下所有文件名列表的方法
May 20 Python
python访问抓取网页常用命令总结
Apr 11 Python
分享一个简单的python读写文件脚本
Nov 25 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
Python for循环生成列表的实例
Jun 15 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
UI自动化定位常用实现方法代码示例
Oct 27 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
Python实现区域填充的示例代码
Feb 03 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不使用插件导出excel的简单方法
2014/03/04 PHP
利用js对象弹出一个层
2008/03/26 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
JS中Location使用详解
2015/05/12 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
使用Python神器对付12306变态验证码
2016/01/05 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
python使用Tesseract库识别验证
2018/03/21 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
用python发送微信消息
2020/12/21 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
毕业生面试求职信
2014/06/23 职场文书
任长霞观后感
2015/06/16 职场文书
《观察物体》教学反思
2016/02/17 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
python基础学习之递归函数知识总结
2021/05/26 Python
vue 实现上传组件
2021/05/31 Vue.js