Keras运行迭代一定次数以后,速度越来越慢,甚至有可能出现MemoryError。这很可能是因为在循环迭代过程中增加了新的计算节点,导致计算节点越来越多,内存被占用完,速度变慢。
- 判断是否在循环迭代过程中增加了新的计算节点,可以用下面的语句:
import tensorflow as tf
tf.Graph.finalize()
# or
tf.get_default_graph().finalize()
如果增加了新的计算节点,就会报错,如果没有报错,说明没有增加计算节点。
- 每次keras运行后,强制清除会话,可以解决内存爆炸的问题。