keras预测内存交换无限增加

时间:2017-09-24 20:32:35

标签: python deep-learning keras

我使用keras实现了分类程序。我有一大堆图像,我想用for循环预测每个图像。

但是,每次计算新图像时,交换内存都会增加。我试图删除预测函数中的所有变量(并且我确定它在此函数内部存在问题)但内存仍然增加。

for

和相应的功能:

git pull

1 个答案:

答案 0 :(得分:6)

如果您正在使用TensorFlow后端,那么您将在for循环中为每个img构建一个模型。 TensorFlow只是将图形附加到图形等上,这意味着内存刚刚上升。这是一个众所周知的事件,必须在超参数优化期间处理,当你构建许多模型时,还要在这里。

from keras import backend as K

并将其放在predict()的末尾:

K.clear_session()

或者您可以构建一个模型并将其作为预测函数的输入提供,这样您每次都不会构建新模型。