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内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
python 查找字符串是否存在实例详解
Jan 20 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
python学生管理系统
Jan 30 Python
浅析python的Lambda表达式
Feb 27 Python
Python简单I/O操作示例
Mar 18 Python
Python高级property属性用法实例分析
Nov 19 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Pytorch 中retain_graph的用法详解
Jan 07 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 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读取javascript设置的cookies的代码
2010/04/12 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
微信小程序动态显示项目倒计时效果
2017/06/13 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python使用代理ip访问网站的实例
2018/05/07 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
软环境建设心得体会
2014/09/09 职场文书
工作年限证明模板
2014/11/01 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
女儿满月酒致辞
2015/07/29 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL