解决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中的文档测试模块
Apr 28 Python
python中管道用法入门实例
Jun 04 Python
Python 描述符(Descriptor)入门
Nov 20 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
Python socket 套接字实现通信详解
Aug 27 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python StringIO及BytesIO包使用方法解析
Jun 15 Python
python中执行smtplib失败的处理方法
Jul 01 Python
Python代码需要缩进吗
Jul 01 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 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即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
php实现异步数据调用的方法
2015/12/24 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
javascript处理table表格的代码
2010/12/06 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python 写入csv乱码问题解决方法
2016/10/23 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
用Python逐行分析文件方法
2019/01/28 Python
django 环境变量配置过程详解
2019/08/06 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python中的逆序遍历实例
2019/12/25 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
营销与策划个人求职信
2013/09/22 职场文书
优秀研究生自我鉴定
2013/12/04 职场文书
商务考察邀请函模板
2015/02/02 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
法律讲堂观后感
2015/06/11 职场文书