2017-03-17 13 views
0

私は、比較的大きなRNN(128セルLSTMといくつかの追加レイヤー)を訓練するコードに取り組んでいます。主なプロセスはCPU上のコアを最大限に活用することです。これが正常かどうか、または最適化できるかどうかは疑問です。トレーニングループ(session.run呼び出し)中には、1つのコアで100%CPU負荷を使用している間に約60〜70%のGPU負荷を使用しています。データサンプリング作業はすでに他のコアで同時に実行されているので、モデルパラメータを更新するだけです。 TensorFlowのこのようなアプリケーションではこれは定期的ですか、GPUの全容量を使用している間はCPU負荷がはるかに低くなっている必要がありますか?TensorFlow RNNトレーニングCPU使用率が60%(GPUが60%のみの場合)

+0

興味深い...私は30%のCPUと25%のCPUしか使用せず、2つのいずれかが飽和していない理由について答えを探しています。 – Trejkaz

答えて

0

私は思いますRNNセルには2つの入力があり、データを転送するときにその2つの方向入力を待つ必要があります。つまり、CNNほど簡単ではありません。大きなバッチサイズを使用してGPUの使用率を向上させることはできますが、そのような問題が発生する可能性があります。ディープラーニングの大規模バッチトレーニング:一般化ギャップとシャープミニマム

関連する問題