解决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使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
Python3模拟登录操作实例分析
Mar 12 Python
python判断所输入的任意一个正整数是否为素数的两种方法
Jun 27 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python中的逆序遍历实例
Dec 25 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 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
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
Vue.js实现模拟微信朋友圈开发demo
2017/04/20 Javascript
js实现分页功能
2017/05/24 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
vue+node实现图片上传及预览的示例方法
2018/11/22 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
小程序使用分包的示例代码
2020/03/23 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python实现多进程代码示例
2018/10/31 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
学生会干部自荐信
2014/02/04 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
公益广告标语
2014/06/19 职场文书
完整版商业计划书
2014/09/15 职场文书
2014年实习生工作总结
2014/11/27 职场文书
员工表扬信怎么写
2015/05/05 职场文书
特种设备安全管理制度
2015/08/06 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
解析Java异步之call future
2021/06/14 Java/Android
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫