解决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实现一个简单的多线程TCP服务器的教程
May 05 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
flask框架自定义url转换器操作详解
Jan 25 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Python类super()及私有属性原理解析
Jun 15 Python
Python连接Mysql进行增删改查的示例代码
Aug 03 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
python中tkinter复选框使用操作
Nov 11 Python
Python数据处理的三个实用技巧分享
Apr 01 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中的HashTable结构详解
2013/06/13 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
遗体告别仪式主持词
2014/03/20 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
前台岗位职责范本
2015/04/16 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
Nginx的基本概念和原理
2022/03/21 Servers
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers