注意事项
注意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,数据就是一直存储在内存中。
随着迭代次数的增加,存储在内存中的数据越来越多,就会导致内存暴涨。