gpt4 book ai didi

python - keras 无法多次调用 model.predict_classes

转载 作者:行者123 更新时间:2023-11-30 09:32:18 25 4
gpt4 key购买 nike

def predictOne(imgPath):

model = load_model("withImageMagic.h5")
image = read_image(imgPath)
test_sample = preprocess(image)
predicted_class = model.predict_classes(([test_sample]))
return predicted_class

我已经训练了一个模型。在此函数中,我加载模型,读取新图像,进行一些预处理,最后预测其标签。

当我运行 main.py 文件时,会调用此函数,一切顺利。但是,几秒钟后,将使用另一个图像再次调用此函数,并且出现此错误:

'Cannot interpret feed_dict key as Tensor: ' + e.args[0])

TypeError: Cannot interpret feed_dict key as Tensor: Tensor Tensor("Placeholder:0", shape=(5, 5, 1, 32), dtype=float32) is not an element of this graph.

很奇怪的是,该功能只在第一次起作用。我测试了多个图像并得到了相同的行为。

Windows 10 - 带 keras 的tensorflow-gpu

最佳答案

尝试从函数外部的文件加载模型,并将模型对象作为函数def PredictOne(imgPath, model)的参数。这也会快得多,因为每次需要预测时不需要从磁盘加载权重。

如果您想在函数内继续加载模型,请导入后端:

from keras import backend as K

然后

K.clear_session() 

加载模型之前。

关于python - keras 无法多次调用 model.predict_classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com