解决TensorFlow GPU版出现OOM错误的问题
问题:
在使用mask_rcnn预测自己的数据集时,会出现下面错误:
ResourceExhaustedError:OOMwhenallocatingtensorwithshape[1,512,1120,1120]andtypefloaton/job:localhost/replica:0/task:0/device:GPU:0byallocatorGPU_0_bfc [[{{noderpn_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:IfyouwanttoseealistofallocatedtensorswhenOOMhappens,addreport_tensor_allocations_upon_oomtoRunOptionsforcurrentallocationinfo. [[{{noderoi_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:IfyouwanttoseealistofallocatedtensorswhenOOMhappens,addreport_tensor_allocations_upon_oomtoRunOptionsforcurrentallocationinfo.
原因:
一是、因为图片尺寸为3200*4480,图片的尺寸太大。
二是、我使用的是TensorFlowGPU版,而我GPU的显存只有8G,导致显存不够。
解决:
一是、将图片尺寸改小,小到占用的内存比显存。
二是、不使用GPU进行预测,只使用CPU预测,因为一般CPU内存要大于显存的。但装的又是GPU版的TensorFlow,所以需要在预测程序进行更改。
程序在前两行加入下面代码:
importos os.environ["CUDA_VISIBLE_DEVICES"]=""
引号里填的是GPU的序号,不填的时候代表不使用GPU。
以上这篇解决TensorFlowGPU版出现OOM错误的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。