如何解决加载模型以获取新预测的问题?

4
我训练了一个模型并保存为import os model.save(''),我想用它来预测新的测试集,所以我通过model = tf.keras.models.load_model('')来加载它..
它向我显示这个警告 (WARNING:tensorflow:SavedModel保存在TF 2.5之前检测到,当加载Keras模型时。请确保您是用model.save()或tf.keras.models.save_model()而不是tf.saved_model.save()来保存模型。为了确认,SavedModel目录中应该有一个名为“keras_metadata.pb”的文件。)

问题是现在当我进行预测时,它给我不准确的结果..似乎与训练/测试集相同,而不是新的测试集
另外,我注意到tensoerflow类型是2.6,但当我保存模型时是2.5..这是一个问题吗? 请尽快帮助我。

那么...你是如何保存模型的? - Proko
1个回答

3
为了鼓励用户使用model.save而不是tf.saved_model.save,我们添加了此警告。
使用tf.saved_model.save保存keras模型仅保存基本级别的数据(例如graphdef/checkpoint),而model.save会同时保存图层配置、可训练状态、名称和其他Python属性以及graphdef / checkpoint。
这个警告不会影响模型训练或推理。我使用一个简单的mnist模型来演示这个警告不会影响经过训练的模型。我使用TF2.5训练了这个mnist模型,并在使用tf-nightly进行加载后重新训练了该模型,发现模型性能没有损失。
作为参考,这里有一个gist包含上述提到的mnist模型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接