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管理Windows服务小脚本
Mar 12 Python
Python闭包函数定义与用法分析
Jul 20 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
简单了解Python matplotlib线的属性
Jun 29 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 Python
Python操作Sonqube API获取检测结果并打印过程解析
Nov 27 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python视频编辑库MoviePy的使用
Apr 01 Python
python实现自动清理重复文件
Aug 24 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 07 Python
python turtle绘图命令及案例
Nov 23 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 之Section与Cookie使用总结
2012/09/14 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
用javascript实现自定义标签
2007/05/08 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
关于this和self的使用说明
2010/08/01 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
使用js画图之饼图
2015/01/12 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
python 中的命名空间,你真的了解吗?
2020/08/19 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
工业设计专业自荐书
2014/06/05 职场文书
青年标兵事迹材料
2014/08/16 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
运动会1000米加油稿
2015/07/21 职场文书
同学会感言
2015/07/30 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
CSS基础详解
2021/10/16 HTML / CSS