# tf.keras.metrics.MeanRelativeError

Computes the mean relative error by normalizing with the given values.

Inherits From: `Mean`, `Metric`, `Layer`, `Module`

This metric creates two local variables, `total` and `count` that are used to compute the mean relative error. This 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.

`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.

#### Standalone usage:

````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`
`m.result().numpy()`
`1.25`
```

Usage with `compile()` API:

``````model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanRelativeError(normalizer=[1, 3])])
``````

## Methods

### `reset_state`

View source

Resets all of the metric state variables.

This function is called between epochs/steps, when a metric is evaluated during training.

### `result`

View source

Computes and returns the metric value tensor.

Result computation is an idempotent operation that simply calculates the metric value using the state variables.

### `update_state`

View source

Accumulates metric statistics.

Args
`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`.

Returns
Update op.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]