我正在使用带有 GPU Nvidia Titan X 的 TensorFlow r1.0 训练一个类似 Inception 的模型。
我添加了一些摘要操作来可视化训练过程,使用代码如下:
def variable_summaries(var):
"""Attach a lot of summaries to a Tensor (for TensorBoard visualization)."""
with tf.name_scope('summaries'):
mean = tf.reduce_mean(var)
tf.summary.scalar('mean', mean)
with tf.name_scope('stddev'):
stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
tf.summary.scalar('stddev', stddev)
tf.summary.scalar('max', tf.reduce_max(var))
tf.summary.scalar('min', tf.reduce_min(var))
tf.summary.histogram('histogram', var)
当我运行这些操作时,训练一个 epoch 的时间成本约为 400 秒。但是当我关闭这些操作时,训练一个 epoch 的时间成本只有 90 秒。
如何优化图表以最小化汇总操作的时间成本?