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下载Bing图片(代码)
Nov 07 Python
Python函数返回值实例分析
Jun 08 Python
python 第三方库的安装及pip的使用详解
May 11 Python
基于python的字节编译详解
Sep 20 Python
浅谈python可视化包Bokeh
Feb 07 Python
python实现键盘控制鼠标移动
Nov 27 Python
Python选择网卡发包及接收数据包
Apr 04 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 Python
Keras自定义IOU方式
Jun 10 Python
python关于倒排列的知识点总结
Oct 13 Python
Python之matplotlib绘制折线图
Apr 13 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 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
php二维数组转成字符串示例
2014/02/17 PHP
PHP高手需要要掌握的知识点
2014/08/21 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
在 Express 中使用模板引擎
2015/12/10 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
python xml解析实例详解
2016/11/14 Python
使用python遍历指定城市的一周气温
2017/03/31 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
简历中的自我评价怎么写
2014/01/29 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
诉讼代理人授权委托书
2014/04/08 职场文书
创业培训计划书
2014/05/03 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
综治工作汇报材料
2014/10/27 职场文书
旷课检讨书范文
2014/10/30 职场文书
婚礼答谢词
2015/01/04 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技