Mask RCNN资源耗尽需要帮助-
硬件-i7-8700、32G RAM,单个ASUS ROG STRIX 1080ti(11GB)
虚拟环境设置-tensorflow-gpu == 1.5.0,python == 3.6.6,Cuda == 9.0.176,cudnn == 7.2.1
图像分辨率-最大宽度= 900像素,最大高度= 675像素,最小宽度= 194像素,最小高度= 150像素,用于训练的11张图像
S / W-IMAGES_PER_GPU = 1(在xxConfig(Config)类中,xxx.py中),BACKBONE =“ resnet50”,POST_NMS_ROIS_TRAINING = 1000,POST_NMS_ROIS_INFERENCE = 500,IMAGE_RESIZE_MODE =“ square”,IMAGE_MIN_DIM = 400, ,TRAIN_ROIS_PER_IMAGE = 100
让我感到奇怪的是,nvidia-smi显示<300MB用于python,终端显示了以下内容,
ResourceExhaustedError(请参阅上面的回溯):在分配带有shape [3,3,256,256]的张量并在/ job:localhost / replica:0 / task:0 / device:GPU:0上通过分配器GPU_0_bfc键入float [[节点:fpn_p5 / random_uniform / RandomUniform = RandomUniformT = DT_INT32,dtype = DT_FLOAT,seed = 87654321,seed2 = 5038409,_device =“ / job:localhost /副本:0 / task:0 / device:GPU:0”]]
答案 0 :(得分:0)
默认情况下,Tensorflow会分配所有GPU内存。因此,如果您仅在nvidia-smi
中分配了700 MB,则很可能已在Tensorflow中设置了一些选项来限制GPU内存,例如:
config.gpu_options.allow_growth = True
或
config.gpu_options.per_process_gpu_memory_fraction = 0.4
删除此选项,然后重试。另请参阅:https://www.tensorflow.org/guide/using_gpu
答案 1 :(得分:0)
用7.0.5替换cudnn 7.2.1之后,现在我可以使用1080ti gpu训练Mask-RCNN,而不会出现资源耗尽(OOM)问题。