問題所在:
在運行時的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信息