解决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获取GY-85九轴模块信息示例
Dec 05 Python
Python httplib模块使用实例
Apr 11 Python
详解Python验证码识别
Jan 25 Python
Golang与python线程详解及简单实例
Apr 27 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python实现一个简单的验证码程序
Nov 03 Python
python 执行shell命令并将结果保存的实例
May 11 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python中super().__init__()测试以及理解
Dec 06 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 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 加密解密内部算法
2010/04/22 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
golang与PHP输出excel示例
2016/07/22 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
Json解析的方法小结
2016/06/22 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python实现的ini文件操作类分享
2014/11/20 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
Django框架多表查询实例分析
2018/07/04 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
房产销售经理职责
2013/12/20 职场文书
超市店庆活动方案
2014/08/31 职场文书
敬老院活动感想
2015/08/07 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书