解决TensorFlow GPU版出现OOM错误的问题


Posted in Python onFebruary 03, 2020

问题:

在使用mask_rcnn预测自己的数据集时,会出现下面错误:

ResourceExhaustedError: OOM when allocating tensor with shape[1,512,1120,1120] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc
 [[{{node rpn_model/rpn_conv_shared/convolution}} = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](fpn_p2/BiasAdd, rpn_conv_shared/kernel/read)]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.
 
 [[{{node roi_align_mask/strided_slice_17/_4277}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_3068_roi_align_mask/strided_slice_17", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info.

原因:

一是、因为图片尺寸为3200*4480,图片的尺寸太大。

二是、我使用的是TensorFlow GPU版,而我GPU的显存只有8G,导致显存不够。

解决:

一是、将图片尺寸改小,小到占用的内存比显存。

二是、不使用GPU进行预测,只使用CPU预测,因为一般CPU内存要大于显存的。但装的又是GPU版的TensorFlow,所以需要在预测程序进行更改。

程序在前两行加入下面代码:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = ""

引号里填的是GPU的序号,不填的时候代表不使用GPU。

以上这篇解决TensorFlow GPU版出现OOM错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python解析树及树的遍历
Feb 03 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
浅谈Python处理PDF的方法
Nov 10 Python
Python基于百度云文字识别API
Dec 13 Python
Python变量类型知识点总结
Feb 18 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
使用python实现滑动验证码功能
Aug 05 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
jupyter note 实现将数据保存为word
Apr 14 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
python global和nonlocal用法解析
Feb 03 #Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 #Python
解决Tensorflow占用GPU显存问题
Feb 03 #Python
通过Turtle库在Python中绘制一个鼠年福鼠
Feb 03 #Python
python爬虫模块URL管理器模块用法解析
Feb 03 #Python
Tensorflow实现多GPU并行方式
Feb 03 #Python
python如何通过twisted搭建socket服务
Feb 03 #Python
You might like
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
JSON格式化输出
2014/11/10 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
wxpython实现图书管理系统
2018/03/12 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
Java基础类库面试题
2013/09/04 面试题
开会迟到检讨书
2014/02/03 职场文书
股指期货心得体会
2014/09/10 职场文书
六五普法宣传标语
2014/10/06 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
会议邀请函
2015/01/30 职场文书
郭明义观后感
2015/06/08 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
mysql中关键词exists的用法实例详解
2022/06/10 MySQL