用的是Tensorflow 1.2版本,在CPU上跑,大概就是才开始训练的时候每个batch的时间很低,然后随着训练的推进,每个batch的耗时越来越长,但是当我重启后,又一切正常了,不知道这个是什么问题?
知乎讨论https://www.zhihu.com/question/58577743
Stackoverflow 讨论 https://stackoverflow.com/questions/39070708/why-sometimes-tensorflow-runs-slower-and-slower-with-the-process-of-training
可能的解决办法:
tf.reset_default_graph() # 重置默认图 graph = tf.Graph() # 新建空白图 with graph.as_default() as g: # 将新建的图作为默认图 with tf.Session(graph=g): # Session 在新建的图中运行 # 需要运行的代码放这里,每次运行都会使用新的图
通过上面的方式基本可以解决运行越来越慢问题