gpt4 book ai didi

python - keras > 加载保存的模型后总是相同的预测值

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:23 24 4
gpt4 key购买 nike

我正在使用 tensorflow 后端通过 keras 训练一些模型。

当我在同一对象上训练后立即调用 predict 时,它工作正常,并为不同的输入提供不同的值。但是当我将模型保存到一个文件,然后从另一个 python session 加载它时,predict 总是为不同的输入返回相同的值。

我使用 ModelCheckpoint 保存模型,然后使用 load_model 加载。我还尝试使用 to_jsonmodel_from_json 函数分别将体系结构保存和加载到 json 文件中。示例代码:

保存部分

with open("model.json", "w") as textFile:
print(model.to_json(), file = textFile)

model.fit(X_train, y_train, epochs=iterationCount, batch_size=64, validation_split=0.2, callbacks = [ModelCheckpoint(filepath='model.h5', verbose=0, save_best_only=True)])

加载部分

with open('model.json') as json_file:
model = model_from_json(json_file.read())

model.load_weights('model.h5')

有解决这个问题的想法吗?有什么我想念的吗?

最佳答案

不幸的是,很多人(像我一样)一直在提示 keras bug这会影响 save_weightsload_weights 函数。

我最终避免使用这些功能。如果我想加载/存储我的模型,我只需执行以下操作:

from keras.models import load_model

trained_model.save(file_path)
loaded_model = load_model(file_path)

save 函数可以保存您的权重,还可以保存您的网络结构和优化器的状态(它确保您可以从您暂停的位置准确保留训练模型)。

关于python - keras > 加载保存的模型后总是相同的预测值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48370819/

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