张量流计算时间每20k步增加一次

时间:2017-04-24 09:57:34

标签: tensorflow tensorboard

我注意到在训练期间,张量流不断变慢。我在训练期间绘制了每个样本的计算时间,并且观察到在大致恒定的第一个80k之后,它继续增加;更重要的是,它似乎遵循一种模式,其中计算时间每20k步骤颠簸并保持不变。

computation time

经过400k步骤后,每个样本的计算时间从1.46增加到25.11ms,增加了x17,显然不受欢迎。

当我停止训练并从最后保存的模型恢复时,每个样本的计算时间会回落到~1.46毫秒,所以这不是来自模型。

是否有人遇到过同样的问题,原因是什么? (我的下一步是在不保存摘要的情况下运行以尝试在此级别找到问题。)

更新:当摘要关闭时,计算时间保持不变。

更新:在训练循环之前调用和trace_level上的摘要没有抛出错误。

更新并部分回答。

计算时间中的通货膨胀似乎是由于在评估我的摘要时使用值为tf.RunOptions.FULL_TRACE的{​​{1}}。

更换

run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
smry = sess.run(smry_op, feed_dict=feed_dict, options=run_options)

smry = sess.run(smry_op, feed_dict=feed_dict)

摆脱了这个问题。当然,问题仍然是为什么FULL_TRACE会产生如此不断增长的开销,因此我将问题保持开放。

0 个答案:

没有答案