关于Tensorflow 训练时,每个batch越来越慢

问题所在:

在运行时的session里定义了tf的op导致的,这样每一次迭代都会在graph里增加新的节点,导致memory leak,程序越来越慢,最后强行退出。至于在运行时程序有没有增加节点,可以在session里定义graph.finalize()锁定graph,如果跑的时候报错就证明程序在动态添加节点导致的越来越慢。

解决问题:

1、不要再session中定义新op,全部都放到graph中

2、new一个新的graph,在新graph中操作op,例如


3、多次创建图,在GPU环境下,会输出大量类似这种日志

34 2017-09-22 10:09:00.573307: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Tesla K40c, pci bus id: 0000:04:00.0)

解决方法:在代码开头加上   os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'   ,3表示只输出error信息

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 介绍 首先让我们来看看TensorFlow! 但是在我们开始之前,我们先来看看Python API中的Ten...
    JasonJe阅读 14,040评论 1 32
  • 十七八岁正是花季,我也不例外,被一个懵懵懂懂的毛头小子给追求着,我喜欢和他们一帮男孩子玩耍,其实我一点也不喜欢这个...
    王姐_e882阅读 1,053评论 1 2
  • 正常人的智商普遍都差不多,体能也差不多,只是用于不用,开发不开发的问题…… 从古至今,喜欢排阶级分等级,西方社会也...
    亮子子阅读 4,415评论 1 1
  • ruts
    长颈鹿的烦恼阅读 1,215评论 0 0