2024-06-14 18:10:34 发布
网友
我用keras实现了一个分类程序。我有一大组图像,我想用for循环预测每个图像。在
但是,每次计算新图像时,交换内存都会增加。我试图删除predict函数中的所有变量(我确信在这个函数内部存在问题),但是内存仍然在增加。在
for img in images: predict(img, model, categ_par, gl_par)
以及相应的功能:
如果您使用的是TensorFlow后端,您将为for循环中的每个img构建一个模型。TensorFlow只是不断地将图形附加到图形上等等,这意味着内存只会上升。这是一个众所周知的现象,当您要构建许多模型时,必须在超参数优化过程中处理这一问题。在
from keras import backend as K
把这个放在predict()的末尾:
或者,您可以只构建一个模型,并将其作为预测函数的输入,这样就不会每次都构建一个新的模型。在
如果您使用的是TensorFlow后端,您将为for循环中的每个img构建一个模型。TensorFlow只是不断地将图形附加到图形上等等,这意味着内存只会上升。这是一个众所周知的现象,当您要构建许多模型时,必须在超参数优化过程中处理这一问题。在
把这个放在predict()的末尾:
^{pr2}$或者,您可以只构建一个模型,并将其作为预测函数的输入,这样就不会每次都构建一个新的模型。在
相关问题 更多 >
编程相关推荐