私は、(ローカル)マルチ-gpuトレーニングのためのcifar10_multi_gpu_trainの例で提案されているトレーニング方法、つまりいくつかのタワーを作成してからグラジエントを平均化しています。しかし、私は次のことを疑問視していました。異なるGPUからの損失を受け取り、それらを合計し、その新しい損失に勾配降下を適用すればどうなりますか?TensorflowでのマルチGPUのトレーニング:より簡単な方法?
これは機能しますか?おそらくこれは愚かな疑問であり、どこかに限界があるはずです。あなたがこれについてコメントできるなら、私は幸せになるでしょう。
おかげで、よろしく、 G.
勾配と平均化操作の順序を入れ替えることは、数学的には同等です(微分は線形演算子です)。しかし、タワー 'i'の勾配操作がタワー' i'と同じデバイス上にあるようにしたいという問題があります。 'colocate_gradients_with_ops'オプションがあり、どれくらいうまく動作しているのかは不明ですが、' cifar10_multi_gpu_train'が書かれた時点では存在しませんでした。 –