Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow-从tf.contrib.learn.DNNLinearCombinedRegressor提取度量键和/或dict_Python_Machine Learning_Tensorflow_Neural Network_Tensorboard - Fatal编程技术网

Python Tensorflow-从tf.contrib.learn.DNNLinearCombinedRegressor提取度量键和/或dict

Python Tensorflow-从tf.contrib.learn.DNNLinearCombinedRegressor提取度量键和/或dict,python,machine-learning,tensorflow,neural-network,tensorboard,Python,Machine Learning,Tensorflow,Neural Network,Tensorboard,我当前在从预构建的估计器模型中获取度量时遇到问题。以下是我从模型中提取度量的代码: v_metrics = { "accuracy": tf.contrib.learn.MetricSpec( metric_fn=tf.contrib.metrics.streaming_accuracy, prediction_key = tf.contrib.learn.PredictionKey.SCORES), "precis

我当前在从预构建的估计器模型中获取度量时遇到问题。以下是我从模型中提取度量的代码:

v_metrics = {
    "accuracy":
        tf.contrib.learn.MetricSpec(
            metric_fn=tf.contrib.metrics.streaming_accuracy,
            prediction_key = tf.contrib.learn.PredictionKey.SCORES),
    "precision":
        tf.contrib.learn.MetricSpec(
            metric_fn=tf.contrib.metrics.streaming_precision,
            prediction_key = tf.contrib.learn.PredictionKey.SCORES),
    "recall":
        tf.contrib.learn.MetricSpec(
            metric_fn=tf.contrib.metrics.streaming_recall,
            prediction_key = tf.contrib.learn.PredictionKey.SCORES)
}

v_monitor = tf.contrib.learn.monitors.ValidationMonitor(
                input_fn=lambda: input_fn(df_test),
                eval_steps = 1,
                every_n_steps=10,
                metrics=v_metrics
)


m = build_estimator(model_dir, model_type)
m.fit(input_fn=lambda: input_fn(df_train), steps=train_steps, monitors=[v_monitor])
results = m.evaluate(input_fn=lambda: input_fn(df_test), steps=1)
但是,当我运行此程序时,它会给我:

INFO:tensorflow:Saving dict for global step 28: accuracy = 0.0, global_step = 28, loss = 24.7031, precision = 1.0, recall = 1.0
我查看了API、estimator.py和metric_spec.py脚本,但没有找到一种方法来提取负责准确性、精确度和召回率的张量。我还研究了其他答案,但它们都是自定义估计器的解决方案。我还检查了tensorboard及其0和1的结果

请注意,当我对
tf.contrib.learn.DNNLinearCombinedRegressor
prediction\u key=tf.contrib.learn.PredictionKey.CLASSES使用完全相同的方法时,它工作正常

我不确定我用组合回归器做错了什么。我想知道从哪里获得正确的预测键(或者我做错了什么),所以当我运行模型时,它会给我正确的度量结果