# tf.keras.metrics.poisson

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/losses.py#L2660-L2693) |

Computes the Poisson loss between y_true and y_pred.

#### View aliases


**Main aliases**

[`tf.keras.losses.poisson`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/poisson), [`tf.losses.poisson`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/poisson), [`tf.metrics.poisson`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/poisson)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

\`tf.compat.v1.keras.losses.poisson\`, \`tf.compat.v1.keras.metrics.poisson\`

<br />

    tf.keras.metrics.poisson(
        y_true, y_pred
    )

The Poisson loss is the mean of the elements of the `Tensor`
`y_pred - y_true * log(y_pred)`.

#### Standalone usage:

    y_true = np.random.randint(0, 2, size=(2, 3))
    y_pred = np.random.random(size=(2, 3))
    loss = tf.keras.losses.poisson(y_true, y_pred)
    assert loss.shape == (2,)
    y_pred = y_pred + 1e-7
    assert np.allclose(
        loss.numpy(), np.mean(y_pred - y_true * np.log(y_pred), axis=-1),
        atol=1e-5)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `y_true` | Ground truth values. shape = `[batch_size, d0, .. dN]`. |
| `y_pred` | The predicted values. shape = `[batch_size, d0, .. dN]`. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Poisson loss value. shape = `[batch_size, d0, .. dN-1]`. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `InvalidArgumentError` | If `y_true` and `y_pred` have incompatible shapes. |

<br />