tensorflow.contrib.slim.batch_normでは、moving_mean
の値をコピーするためにmath_ops.add(moving_mean, 0)
が使用されます。これは、後でpassed to nn.moments
となります。いつテンソルtの代わりにtf.add(t、0)を直接使うべきですか?
moving_mean
をnn.moments
に直接渡すだけで問題がありますか?
コピー操作(tf.add(t, 0)
)の使用に関するガイドラインはありますか?
[このコミット](https://github.com/tensorflow/tensorflow/commit/e78fadb2)に追加されました。結果として、tの値がコピーされるので、別のワーカーがtの値をパラレルに変更すると、影響を受けず、tf.momentsの計算に古い値が使用されます。 –
@YaroslavBulatov答えを見つける方法を共有していただきありがとうございます。コミットログを調べることは非常に役に立ちます。 – Jenny