解决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标准库之循环器(itertools)介绍
Nov 25 Python
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
基于Python的接口测试框架实例
Nov 04 Python
python的Tqdm模块的使用
Jan 10 Python
Pycharm 创建 Django admin 用户名和密码的实例
May 30 Python
python筛选出两个文件中重复行的方法
May 31 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
Python实现微信机器人的方法
Sep 06 Python
python 画函数曲线示例
Dec 04 Python
Python+OpenCV图像处理——图像二值化的实现
Oct 24 Python
Python3 类型标注支持操作
Jun 02 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
详解Django中间件执行顺序
2018/07/16 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
Python3.9新特性详解
2020/10/10 Python
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
护理自我鉴定范文
2013/10/06 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
电子商务自荐书范文
2014/01/04 职场文书
房地产还款计划书
2014/01/10 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
运动会表扬稿范文
2015/05/05 职场文书
经营场所使用证明
2015/06/19 职场文书
告知书格式
2015/07/01 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript