2

私はcelebAでDCGANを訓練しようとしています。トレーニングプロセスは非常に遅くなっているようで、ボトルネックの原因を突き止めたいと思います。 STANDARD_1、BASIC_GPUを使用するか、または6歳の4コアCPUラップトップでローカルに実行すると、1エポックのトレーニングにかかる​​時間は非常に似ているようです。これらの3つの構成では、各トレーニングステップには約25秒かかりますが、トレーニングステップには数分かかることがあります。クラウドMLトレーニングのボトルネックを解明

BASIC_GPUを使用する場合、CPU使用率は0.1未満です。私はBASIC層を使って実験を行い、マスターは0.4でホバリングし、ステップごとに約40秒かかった。標準_1を使用している場合、私は以下のCPU使用率を取得:

  • マスター:0.28
  • 員:0.21
  • パラメータサーバ(PS):0.48

BASIC上で実行している場合にはそのCPU使用率を100%に近づけてはいけませんか?

このレートでは、64x64に縮小された画像でcelebAの1つのエポックを訓練するのに22時間かかります。レポから他の人のトレーニングログを見ると、これはGPUを使った他の人のトレーニングよりもかなり高いようです。

+0

あなたが言及した他のトレーニングログへのポインタを提供できますか? – rhaertel80

+0

この人はバッチあたり平均2秒以下のようです:https://github.com/carpedm20/DCGAN-tensorflow/issues/34 – psoulos

答えて

1

私はちょうどここに推測しています - しかし、あなたはポイントコードを見てとること、トレーニングは2つのことを行います。

  1. は摂食、Pythonですなわち負荷データを使用します - 読者のキューを使用して(https://www.tensorflow.org/programmers_guide/reading_data )がより速くなる可能性があります。

  2. これは可能性が高いです。コードは一度に1つのファイルまたは複数のファイルを読み込みますが、それぞれがクラウドストレージへの別の要求になります。したがって、バッファリングなどの最適化の恩恵を受けることはありません。これは、コードがI/Oバインドされている可能性があり、より低いCPU使用量を説明するかもしれません。さらに、GPUを追加すると、GPUに作業負荷がかかり、CPU使用率が低下する可能性があります。これはまだI/Oを使用しています。

これが役立つかどうかはわかりませんが、いくつかの参考になるかもしれません。

関連する問題