解决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之入门(二)基本数据类型
May 25 Python
在Python中处理XML的教程
Apr 29 Python
python利用rsa库做公钥解密的方法教程
Dec 10 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
python统计多维数组的行数和列数实例
Jun 23 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
对Django中内置的User模型实例详解
Aug 16 Python
python3连接MySQL8.0的两种方式
Feb 17 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
May 13 Python
Python使用tkinter实现小时钟效果
Feb 22 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
JavaScript生成简单等差数列
2017/11/28 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
Python获取央视节目单的实现代码
2015/07/25 Python
python的文件操作方法汇总
2017/11/10 Python
python实现弹跳小球
2019/05/13 Python
pandas数据处理进阶详解
2019/10/11 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
python创建文本文件的简单方法
2020/08/30 Python
Python尾递归优化实现代码及原理详解
2020/10/09 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
Java的for语句中break, continue和return的区别
2013/12/19 面试题
楼面部长岗位职责范本
2014/02/14 职场文书
2015年招聘工作总结
2014/12/12 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
商务司机岗位职责
2015/04/10 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
Redis 限流器
2022/05/15 Redis