Computes the (weighted) mean of the given values

metric_mean(..., name = "mean", dtype = NULL)

Arguments

...

Passed on to the underlying metric. Used for forwards and backwards compatibility.

name

(Optional) string name of the metric instance.

dtype

(Optional) data type of the metric result.

Value

A (subclassed) Metric instance that can be passed directly to compile(metrics = ), or used as a standalone object. See ?Metric for example usage.

Details

For example, if values is c(1, 3, 5, 7) then the mean is 4. If the weights were specified as c(1, 1, 0, 0) then the mean would be 2.

This metric creates two variables, total and count that are used to compute the average of values. This average is ultimately returned as mean which is an idempotent operation that simply divides total by count.

If sample_weight is NULL, weights default to 1. Use sample_weight of 0 to mask values.

Note

Unlike most other metrics, this only takes a single tensor as input to update state.

Example usage with compile():

model$add_metric(metric_mean(name='mean_1')(outputs))
model %>% compile(optimizer='sgd', loss='mse')

Example standalone usage:

m  <- metric_mean()
m$update_state(c(1, 3, 5, 7))
m$result()

m$reset_state()
m$update_state(c(1, 3, 5, 7), sample_weight=c(1, 1, 0, 0))
m$result()
as.numeric(m$result())

See also