2017-03-17 249 views
0

我正在研究訓練相對較大的RNN(128單元LSTM和一些添加圖層)的代碼。主要過程是在CPU上充滿核心,我想知道這是否正常或我是否可以優化它。在訓練循環(session.run調用)期間,它使用大約60-70%的GPU負載,同時在一個內核上使用100%的CPU負載。請注意,數據採樣工作已在其他內核上同時完成,因此它只是更新了模型參數。這對於TensorFlow中的這些應用程序來說是否正常,或者在使用GPU的全部容量時,CPU負載是否要低得多?TensorFlow RNN培訓100%的CPU,而只使用60%的GPU

+0

有趣...我正在做一些培訓,只使用30%的CPU和25%的CPU,並尋找答案,爲什麼它不會使兩者中的任何一個飽和。 – Trejkaz

回答

0

我想RNN單元有兩個輸入,當訓練數據時它必須等待那兩個方向輸入,換句話說,它優化並行性並不像CNN那麼容易。您可以使用大批量來提高GPU利用率,但也許會導致其他問題,如紙張關於深度學習的大批量培訓:泛化差距和夏普極小值