View source on GitHub
|
Computes the mean relative error by normalizing with the given values.
Inherits From: Mean
tf.keras.metrics.MeanRelativeError(
normalizer, name=None, dtype=None
)
This metric creates two local variables, total and count that are used to
compute the mean relative absolute error. This average is weighted by
sample_weight, and it is ultimately returned as mean_relative_error:
an idempotent operation that simply divides total by count.
If sample_weight is None, weights default to 1.
Use sample_weight of 0 to mask values.
m = tf.keras.metrics.MeanRelativeError(normalizer=[1, 3, 2, 3])
m.update_state([1, 3, 2, 3], [2, 4, 6, 8])
# metric = mean(|y_pred - y_true| / normalizer)
# = mean([1, 1, 4, 5] / [1, 3, 2, 3]) = mean([1, 1/3, 2, 5/3])
# = 5/4 = 1.25
print('Final result: ', m.result().numpy()) # Final result: 1.25
Usage with tf.keras API:
model = tf.keras.Model(inputs, outputs)
model.compile(
'sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanRelativeError(normalizer=[1, 3])])
normalizer: The normalizer values with same shape as predictions.name: (Optional) string name of the metric instance.dtype: (Optional) data type of the metric result.reset_statesreset_states()
Resets all of the metric state variables.
This function is called between epochs/steps, when a metric is evaluated during training.
resultresult()
Computes and returns the metric value tensor.
Result computation is an idempotent operation that simply calculates the metric value using the state variables.
update_stateupdate_state(
y_true, y_pred, sample_weight=None
)
Accumulates metric statistics.
y_true: The ground truth values.y_pred: The predicted values.sample_weight: Optional weighting of each example. Defaults to 1. Can be a
Tensor whose rank is either 0, or the same rank as y_true, and must
be broadcastable to y_true.Update op.