我有一个保存的模型(一个目录 model.pd和 变量)并希望在 Pandas 数据框上运行预测。
我尝试了几种方法都没有成功:
尝试 1:从保存的模型中恢复估算器
estimator = tf.estimator.LinearClassifier(
feature_columns=create_feature_cols(),
model_dir=path,
warm_start_from=path)
Run Code Online (Sandbox Code Playgroud)
其中 path 是具有model.pd和 variables 文件夹的目录。我有一个错误
ValueError: Tensor linear/linear_model/dummy_feature1/weights is not found in
gs://bucket/Trainer/output/2013/20191008T170504.583379-63adee0eaee0/serving_model_dir/export/1570554483/variables/variables
checkpoint {'linear/linear_model/dummy_feature1/weights': [1, 1], 'linear/linear_model/dummy_feature2/weights': [1, 1]
}
Run Code Online (Sandbox Code Playgroud)
尝试 2:通过运行直接从保存的模型运行预测
imported = tf.saved_model.load(path) # path is the directory that has a `model.pd` and variables folder
imported.signatures["predict"](example)
Run Code Online (Sandbox Code Playgroud)
但尚未成功传递参数 - 看起来该函数正在寻找 atf.example并且我不确定如何将数据框转换为tf.example. 我的转换尝试如下,但出现 df[f] 不是张量的错误:
for f in features:
example.features.feature[f].float_list.value.extend(df[f])
Run Code Online (Sandbox Code Playgroud)
我在 StackOverflow 上看到过解决方案,但它们都是 tensorflow 1.14。如果有人可以帮助使用 tensorflow 2.0,将不胜感激。