解决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直接访问私有属性的简单方法
Jul 25 Python
python中的计时器timeit的使用方法
Oct 20 Python
Python3 queue队列模块详细介绍
Jan 05 Python
python保存网页图片到本地的方法
Jul 24 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
500行Python代码打造刷脸考勤系统
Jun 03 Python
基于python框架Scrapy爬取自己的博客内容过程详解
Aug 05 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
浅析Python 条件控制语句
Jul 15 Python
python使用隐式循环快速求和的实现示例
Sep 11 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 时间计算问题小结
2009/01/04 PHP
PHP 批量删除 sql语句
2009/06/05 PHP
基于pear auth实现登录验证
2010/02/26 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
Python Queue模块详细介绍及实例
2016/12/27 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python定义一个Actor任务
2020/07/29 Python
汉语言文学毕业生求职信
2013/10/01 职场文书
中层干部岗位职责
2013/12/18 职场文书
劳资专员岗位职责
2013/12/27 职场文书
电焊工工作岗位职责
2014/02/06 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python