tf.keras.losses.MAPE

TensorFlow 1 version View source on GitHub

Computes the mean absolute percentage error between y_true and y_pred.

tf.keras.losses.MAPE(
    y_true, y_pred
)

loss = 100 * mean(abs(y_true - y_pred) / y_true, axis=-1)

Usage:

y_true = np.random.random(size=(2, 3)) 
y_true = np.maximum(y_true, 1e-7)  # Prevent division by zero 
y_pred = np.random.random(size=(2, 3)) 
loss = tf.keras.losses.mean_absolute_percentage_error(y_true, y_pred) 
assert loss.shape == (2,) 
assert np.array_equal( 
    loss.numpy(), 
    100. * np.mean(np.abs((y_true - y_pred) / y_true), axis=-1)) 

Args:

  • y_true: Ground truth values. shape = [batch_size, d0, .. dN].
  • y_pred: The predicted values. shape = [batch_size, d0, .. dN].

Returns:

Mean absolute percentage error values. shape = [batch_size, d0, .. dN-1].