【问题标题】:How can I fix the problem of loading the model to get new predictions?如何解决加载模型以获得新预测的问题?
【发布时间】:2021-10-26 11:34:30
【问题描述】:

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

现在的问题是,当我进行预测时,它给了我不准确的结果.. 似乎与训练/测试集的预测相同,而不是新的预测

另外,我注意到 tensoerflow 类型是 2.6,但是当我保存模型时它是 2.5 .. 这是一个问题吗? 请尽快帮助我。

【问题讨论】:

  • sooo...你是如何保存模型的?

标签: python tensorflow keras model save


【解决方案1】:

添加此警告是为了鼓励用户使用 model.save 而不是 tf.saved_model.save 保存 keras 模型。

使用tf.saved_model.save 保存 keras 模型仅保存基本级别数据(如 graphdef / 检查点),而 model.save 保存层配置/可训练状态/名称/其他 python 属性以及 graphdef / 检查点。

此警告不会影响模型训练或推理。我使用了一个简单的mnist 模型来证明警告不会影响经过训练的模型。我已经用TF2.5 训练了这个mnist 模型并加载了tf-nightly。加载模型后,我重新训练了模型,发现模型的性能没有损失。

作为参考,这是我上面提到的gistmnist 模型。

【讨论】:

    猜你喜欢
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多