keras预测内存交换无限期地增加

2024-06-14 18:10:34 发布

您现在位置:Python中文网/ 问答频道 /正文

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

但是,每次计算新图像时,交换内存都会增加。我试图删除predict函数中的所有变量(我确信在这个函数内部存在问题),但是内存仍然在增加。在

for img in images:
    predict(img, model, categ_par, gl_par)

以及相应的功能:

^{pr2}$

Tags: 函数内存in图像功能imgformodel
1条回答
网友
1楼 · 发布于 2024-06-14 18:10:34

如果您使用的是TensorFlow后端,您将为for循环中的每个img构建一个模型。TensorFlow只是不断地将图形附加到图形上等等,这意味着内存只会上升。这是一个众所周知的现象,当您要构建许多模型时,必须在超参数优化过程中处理这一问题。在

from keras import backend as K

把这个放在predict()的末尾:

^{pr2}$

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

相关问题 更多 >