Model performance metrics

metric_binary_accuracy(y_true, y_pred)

metric_binary_crossentropy(y_true, y_pred)

metric_categorical_accuracy(y_true, y_pred)

metric_categorical_crossentropy(y_true, y_pred)

metric_cosine_proximity(y_true, y_pred)

metric_hinge(y_true, y_pred)

metric_kullback_leibler_divergence(y_true, y_pred)

metric_mean_absolute_error(y_true, y_pred)

metric_mean_absolute_percentage_error(y_true, y_pred)

metric_mean_squared_error(y_true, y_pred)

metric_mean_squared_logarithmic_error(y_true, y_pred)

metric_poisson(y_true, y_pred)

metric_sparse_categorical_crossentropy(y_true, y_pred)

metric_squared_hinge(y_true, y_pred)

metric_top_k_categorical_accuracy(y_true, y_pred, k = 5)

metric_sparse_top_k_categorical_accuracy(y_true, y_pred, k = 5)



True labels (tensor)


Predictions (tensor of the same shape as y_true).


An integer, number of top elements to consider.


Metric functions are to be supplied in the metrics parameter of the compile() function.

Custom Metrics

You can provide an arbitrary R function as a custom metric. Note that the y_true and y_pred parameters are tensors, so computations on them should use backend tensor functions. For example:

# create metric using backend tensor functions
K <- backend()
metric_mean_pred <- function(y_true, y_pred) {
  optimizer = optimizer_rmsprop(),
  loss = loss_binary_crossentropy,
  metrics = c('accuracy', 
              'mean_pred' = metric_mean_pred)

Note that a name ('mean_pred') is provided for the custom metric function. This name is used within training progress output.

Documentation on the available backend tensor functions can be found at