我已通过实验框架成功培训并验证了我的TensorFlow模型。关于如何从保存的模型中对新样本进行预测,我有点迷失方向。我的实验代码与上一个单元格中定义的要素列类似:
def experiment_fn(output_dir):
return tflearn.Experiment(
tflearn.DNNClassifier(feature_columns=feature_cols,
hidden_units=[30, 2],
n_classes=2,
model_dir=output_dir),
train_input_fn=get_train(),
eval_input_fn=get_valid(),
eval_metrics = {
"accuracy":
tf.contrib.learn.MetricSpec(
metric_fn=tf.contrib.metrics.streaming_accuracy,
prediction_key=tf.contrib.learn.PredictionKey.CLASSES),
"precision":
tf.contrib.learn.MetricSpec(
metric_fn=tf.contrib.metrics.streaming_precision,
prediction_key=tf.contrib.learn.PredictionKey.CLASSES),
"recall":
tf.contrib.learn.MetricSpec(
metric_fn=tf.contrib.metrics.streaming_recall,
prediction_key=tf.contrib.learn.PredictionKey.CLASSES)
}
)
learn_runner.run(experiment_fn, 'model_trained')
关于保存和恢复模型的this post,我想我可以在DNNClassifier上检索预测方法,如下所示:
op_to_restore = graph.get_tensor_by_name("predict:0")
然后使用新样本构建一个feed_dict并运行:
print sess.run(op_to_restore,feed_dict)
然而,在成功恢复模型后,TensorFlow抱怨它无法找到“预测”。操作
这里的任何帮助将不胜感激。谢谢!