Tensorflow 平均绝对误差(MAE)用于评估

查看Tensorflow关于MAE的文档,我发现 tf.metrics.mean_absolute_error 将返回以下内容:

  • mean_absolute_error:一个表示当前平均值的张量,即总和除以计数的值。
  • update_op:一个操作,用于适当增加总和和计数变量,其值与mean_absolute_error匹配。

如何实现用于评估目的的MAE?正如这里所述:

mean_absolute_error 用于评估,因此它没有梯度。mean_absolute_error 还返回一个更新操作(您在上面的代码中忽略了它),必须使用该操作来更新平均值,因此这个函数的梯度概念并不适用。对于 tf.metrics.mean_absolute_error(pred, y),必须先调用更新操作才能获得平均值。

我不知道如何处理 mean_absolute_error 函数返回的值。能否有人提供一个使用此函数的简单示例?非常感谢。


回答:

听起来您不确定返回的张量/操作的含义以及如何使用它们。这里有一篇很好的文章解释了如何以及为何使用它们:http://ronny.rest/blog/post_2017_09_11_tf_metrics/

对于一个简单的自包含示例用法,您可以查看测试。例如:https://github.com/tensorflow/tensorflow/blob/cda36b817e9998906da37ec87c525f1b278c71a7/tensorflow/python/kernel_tests/metrics_test.py#L2816

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注