解决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 str与repr的区别
Mar 23 Python
Python中利用函数装饰器实现备忘功能
Mar 30 Python
python实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
Python 12306抢火车票脚本
Feb 07 Python
Python遍历pandas数据方法总结
Feb 09 Python
Python使用sort和class实现的多级排序功能示例
Aug 15 Python
浅谈python写入大量文件的问题
Nov 09 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
jupyter notebook实现显示行号
Apr 13 Python
python的launcher用法知识点总结
Aug 07 Python
python的链表基础知识点
Sep 13 Python
Python实战之OpenCV实现猫脸检测
Jun 26 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调用Java对象的方法
2006/10/09 PHP
PHP生成HTML静态页面实例代码
2008/08/31 PHP
Laravel5中contracts详解
2015/03/02 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
javascript的函数作用域
2014/11/12 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
利用纯Vue.js构建Bootstrap组件
2016/11/03 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
Python命名空间详解
2014/08/18 Python
django Serializer序列化使用方法详解
2018/10/16 Python
对python中的argv和argc使用详解
2018/12/15 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
2014年学校体育工作总结
2014/12/08 职场文书
会计工作检讨书
2015/02/19 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
检讨书格式范文
2015/05/07 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
教师继续教育反思周记
2015/06/25 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
警用民用对讲机找不同
2022/02/18 无线电
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python