2017-06-15 50 views
3

我使用keras用了NVIDIA的Tesla GPU K20C在計算機上tensorflow後端。 (CUDA 8)低GPU使用情況如何?

我正在訓練一個相對簡單的卷積神經網絡,在訓練期間我運行終端程序nvidia-smi來檢查GPU的使用情況。正如你可以在下面的輸出中看到,GPU的利用率通常顯示在7%-13%

我的問題是:在CNN訓練期間不應該GPU使用更高?這是否表示keras/tensorflow的GPU配置或使用不良?

nvidia-smi output

enter image description here

回答

4

可能是由於以下幾個原因,但最有可能你正在閱讀的訓練數據時有一個瓶頸。由於您的GPU已經處理了一批,因此需要更多數據。根據您的實現這可能會導致GPU等待CPU負載導致較低的GPU使用,也是一個較長的訓練時間更多的數據。

嘗試加載所有的數據到內存中,如果它符合或使用QueueRunner這將使在後臺的輸入管道讀取數據。這將減少GPU等待更多數據的時間。

的TensorFlow網站上的Reading Data Guide包含更多的信息。