我有一些张量流代码(没什么复杂的),我正在测量每个小批量的时间。出于某种原因,每个小批量的时间在批次之间变得越来越长。每批次的最终花费大约是第一批的6倍。
我似乎遇到了与此unanswered question完全相同的事情。
以下结果导致减速
self._loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits, tf.to_int64(self._label_placeholder)))
for W, b in layers:
self._loss += tf.nn.l2_loss(W) * rho
但是,如果我使用:
self._loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits, tf.to_int64(self._label_placeholder)))
# for W, b in layers:
# self._loss += tf.nn.l2_loss(W) * rho
每个小批次的时间不会随着时间的推移而增加。我也尝试手动计算我的矩阵的Frobenius并得到同样的减速。
我可以做些什么来整合正规化而不会出现大幅减速?