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利用高阶函数实现剪枝函数
Mar 20 Python
pandas 选择某几列的方法
Jul 03 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
Django forms组件的使用教程
Oct 08 Python
对python的输出和输出格式详解
Dec 08 Python
详解Python_shutil模块
Mar 15 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
python原类、类的创建过程与方法详解
Jul 19 Python
Python count函数使用方法实例解析
Mar 23 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 02 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数据集构建JSON格式及新数组的方法
2012/11/07 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
PHP发送短信代码分享
2015/08/11 PHP
php邮件发送的两种方式
2020/04/28 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
canvas知识总结
2017/01/25 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
详解python websocket获取实时数据的几种常见链接方式
2019/07/01 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
python各层级目录下import方法代码实例
2020/01/20 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
初婚未育证明
2014/01/15 职场文书
高级编程求职信模板
2014/02/16 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
个人剖析材料范文
2014/09/30 职场文书