问题所在:
在运行时的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信息