解决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使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
python装饰器使用实例详解
Dec 14 Python
python中sympy库求常微分方程的用法
Apr 28 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
Django中的JWT身份验证的实现
May 07 Python
Django使用echarts进行可视化展示的实践
Jun 10 Python
python unittest单元测试的步骤分析
Aug 02 Python
python实现Nao机器人的单目测距
Sep 04 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遍历数组的方法分享
2012/03/22 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
ThinkPHP连接数据库及主从数据库的设置教程
2014/08/22 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
python解析json实例方法
2013/11/19 Python
爬山算法简介和Python实现实例
2014/04/26 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
python 对象和json互相转换方法
2018/03/22 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python+django+rest框架配置创建方法
2019/08/31 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
安全生产中长期规划实施方案
2014/02/21 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
应急管理培训方案
2014/06/12 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
对PyTorch中inplace字段的全面理解
2021/05/22 Python
python 安全地删除列表元素的方法
2022/03/16 Python