def _add_loss_summaries(self, total_loss):
"""Add summaries for losses in ip5wke model.
Generates moving average for all losses and associated summaries for
visualizing the performance of the network.
Args:
total_loss: Total loss from loss().
Returns:
loss_averages_op: op for generating moving averages of losses.
"""
# Compute the moving average of all individual losses and the total
# loss
loss_averages = tf.train.ExponentialMovingAverage(0.9, name='avg')
losses = tf.get_collection('losses')
loss_averages_op = loss_averages.apply(losses + [total_loss])
accuracies = tf.get_collection('accuracies')
for a in accuracies:
tf.summary.scalar('accuracy', a)
# Attach a scalar summary to all individual losses and the total loss;
# do the same for the averaged version of the losses.
for l in losses + [total_loss]:
# Name each loss as '(raw)' and name the moving average version of
# the loss as the original loss name.
tf.summary.scalar(l.op.name + ' (raw)',
tf.where(tf.is_nan(l), 0.0, l))
tf.summary.scalar(l.op.name, loss_averages.average(l))
return loss_averages_op
评论列表
文章目录