Keras/Tensorflow的低GPU使用率?

AEn*_*drs 11 gpu keras tensorflow

我在带有nvidia Tesla K20c GPU的计算机上使用带有张量流后端的keras.(CUDA 8)

我正在研究一个相对简单的卷积神经网络,在训练期间我运行终端程序nvidia-smi来检查GPU的使用情况.正如您在以下输出中所看到的,GPU利用率通常显示在7%-13%左右

我的问题是:在CNN培训期间,GPU使用率不应该更高吗?这是keras/tensorflow糟糕的GPU配置或使用情况的标志吗?

nvidia-smi输出

在此输入图像描述

Wes*_*ley 8

可能是由于几个原因,但很可能在阅读培训数据时遇到瓶颈.由于您的GPU已处理批处理,因此需要更多数据.根据您的实现情况,这可能会导致GPU等待CPU加载更多数据,从而降低GPU使用率并延长培训时间.

尝试将所有数据加载到内存中,如果它适合或使用QueueRunner,它将使输入管道在后台读取数据.这将减少GPU等待更多数据的时间.

读取数据手册的TensorFlow网站上包含更多的信息.