P-G*_*-Gn 5 tensorflow tensorboard
我注意到在训练期间,tensorflow 变得越来越慢。我在训练期间绘制了每个样本的计算时间,我观察到在第一个 80k 大致恒定之后,它不断增加;更重要的是,它似乎遵循一种模式,即计算时间每 20k 步就会增加一次,并在两者之间保持不变。
在 400k 步之后,每个样本的计算时间从 1.46 毫秒增加到 25.11 毫秒,x17 的增加显然是不受欢迎的。
当我停止训练并从上次保存的模型恢复时,每个样本的计算时间回落到 ~1.46 毫秒,因此这不是来自模型。
有没有人遇到过同样的问题,原因是什么?(我的下一步将是在不保存摘要的情况下运行以尝试在此级别定位问题)。
更新:当摘要关闭时,计算时间保持不变。
更新:tf.get_default_graph().finalize()
在训练循环之前和调用摘要时没有抛出错误。
更新和部分答案。
似乎计算时间的膨胀是由于在评估我的摘要时trace_level
使用了值为tf.RunOptions.FULL_TRACE
。
更换
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
smry = sess.run(smry_op, feed_dict=feed_dict, options=run_options)
Run Code Online (Sandbox Code Playgroud)
和
smry = sess.run(smry_op, feed_dict=feed_dict)
Run Code Online (Sandbox Code Playgroud)
摆脱这个问题。当然,问题仍然是为什么 FULL_TRACE 会产生如此增长的开销,因此我将问题悬而未决。
归档时间: |
|
查看次数: |
383 次 |
最近记录: |