Tensorflow GPU内存不足

时间:2019-12-27 09:54:21

标签: tensorflow

我正在将Tensorflow与GPU(与Keras结合使用)来训练CNN(与来自ResNet101的Transfer Learning)。 我的GPU是8GB的RTX 2070。但是由于某种原因,我总是收到一个内存分配错误(即使消耗低于可用内存)。这是日志:

  

2019-12-27 11:43:40.614258:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:1433]找到设备0   具有属性:名称:GeForce RTX 2070主要:7次要:5   memoryClockRate(GHz):1.62 pciBusID:0000:01:00.0 totalMemory:8.00GiB   freeMemory:6.59GiB

     

2019-12-27 11:43:40.641529:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:1512]添加可见   gpu设备:0

     

2019-12-27 11:44:04.906853:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:984]设备   将StreamExecutor与强度1边缘矩阵互连:

     

2019-12-27 11:44:04.911460:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:990] 0

     

2019-12-27 11:44:04.914264:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:1003] 0:N

     

2019-12-27 11:44:04.945902:我   tensorflow / core / common_runtime / gpu / gpu_device.cc:1115]已创建   TensorFlow设备(/ job:localhost /副本:0 /任务:0 /设备:GPU:0与   6317 MB内存)->物理GPU(设备:0,名称:GeForce RTX 2070,   pci总线ID:0000:01:00.0,计算能力:7.5)

     

2019-12-27 11:44:06.127068:E   tensorflow / stream_executor / cuda / cuda_driver.cc:806]分配失败   设备中的6.17G(6624727296字节):CUDA_ERROR_OUT_OF_MEMORY:内存不足

     

2019-12-27 11:44:06.481222:E   tensorflow / stream_executor / cuda / cuda_driver.cc:806]分配失败   设备中的5.55G(5962254336字节):CUDA_ERROR_OUT_OF_MEMORY:内存不足

     

2019-12-27 11:44:06.921023:E   tensorflow / stream_executor / cuda / cuda_driver.cc:806]分配失败   来自设备的5.00G(5366028800字节):CUDA_ERROR_OUT_OF_MEMORY:内存不足

     

2019-12-27 11:44:07.287418:E   tensorflow / stream_executor / cuda / cuda_driver.cc:806]分配失败   来自设备的4.50G(4829425664字节):CUDA_ERROR_OUT_OF_MEMORY:内存不足

即使可用内存为6.59GB,也无法分配4.5GB。发生这种情况的任何原因以及如何解决?

1 个答案:

答案 0 :(得分:0)

尝试减小批处理大小或减小图像的大小。可能会得出不同的结果,但它会适合您的记忆。