【tensorflow】tensorflow如何避免内存泄漏

注意事项

注意graph

一定要用 sess.graph.finalize(),相当于把整个图冻住,使图变为只读的形式,不再允许增加节点。

注意循环

循环中禁用如下可能会改变图节点的函数:

 tf.convert_to_tensor()
 tf.reshape()
 tf.cast()
 tf.zeros_like()
 tf.ones_like()
 tf.assign()
 tf.train.Saver()

尽量在外部定义好之后使用 sess.run()的方法运行。

注意cache

要么不要使用 tf.data.Dataset.cache(filename),要么就要记得添加filename参数。

因为cache函数的作用是将加载进来的数据存放到filename指定的地方。如果我们没有指定filename,数据就是一直存储在内存中。
随着迭代次数的增加,存储在内存中的数据越来越多,就会导致内存暴涨。

发布了628 篇原创文章 · 获赞 863 · 访问量 185万+

猜你喜欢

转载自blog.csdn.net/JNingWei/article/details/104879962