Tensorflow:找不到匹配的具体函数来调用从 SavedModel 加载的函数

Tensorflow: Could not find matching concrete function to call loaded from the SavedModel

提问人:MM1 提问时间:11/8/2023 最后编辑:MM1 更新时间:11/8/2023 访问量:48

问:

我正在尝试跨两个文件保存和加载模型。

在文件 1 中:

rf = tfdf.keras.RandomForestModel(task=tfdf.keras.Task.REGRESSION, verbose=1, num_trees=318, max_depth=20)
rf.compile(metrics=["mse", "accuracy", 'mae'])  # Optional, you can use this to include a list of eval metrics
rf.fit(x=train_ds)
rf.save_("./model/tfdf_model")

在文件 2 中:

 loaded_model = tf.keras.models.load_model("./model/tfdf_model")
    ...
test_ds = tfdf.keras.pd_dataframe_to_tf_dataset(
    test_data,
    task=tfdf.keras.Task.REGRESSION)
    preds = loaded_model.predict(test_ds)

我一直有这个错误:

ValueError: Could not find matching concrete function to call loaded from the SavedModel. Got:
      Positional arguments (2 total):
        * {'TotalFloors': <tf.Tensor 'inputs_7:0' shape=(None,) dtype=float32>,
     'Total_Amenities': <tf.Tensor 'inputs_27:0' shape=(None,) dtype=int64>....

我尝试使用 joblib、pickle、installed tf-nightly 序列化模型(如此处建议 找不到匹配的函数来调用从 SavedModel 加载的函数)

我的最终目标只是能够加载一个经过训练的模型并预测新的传入数据,如果有其他解决方案,我很高兴听到它! 如果需要,我还可以提供完整的错误消息。

Python TensorFlow 机器学习 随机森林

评论


答: 暂无答案