# tf.debugging.check_numerics

<br />

Checks a tensor for NaN and Inf values.

#### View aliases


**Compat aliases for migration**

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

[`tf.compat.v1.check_numerics`](https://www.tensorflow.org/api_docs/python/tf/debugging/check_numerics), [`tf.compat.v1.debugging.check_numerics`](https://www.tensorflow.org/api_docs/python/tf/debugging/check_numerics)

<br />

    tf.debugging.check_numerics(
        tensor: _atypes.TensorFuzzingAnnotation[TV_CheckNumerics_T],
        message: str,
        name=None
    ) -> _atypes.TensorFuzzingAnnotation[TV_CheckNumerics_T]

When run, reports an `InvalidArgument` error if `tensor` has any values
that are not a number (NaN) or infinity (Inf). Otherwise, returns the input
tensor.

#### Example usage:

    a = tf.Variable(1.0)
    tf.debugging.check_numerics(a, message='')

    b = tf.Variable(np.nan)
    try:
      tf.debugging.check_numerics(b, message='Checking b')
    except Exception as e:
      assert "Checking b : Tensor had NaN values" in e.message

    c = tf.Variable(np.inf)
    try:
      tf.debugging.check_numerics(c, message='Checking c')
    except Exception as e:
      assert "Checking c : Tensor had Inf values" in e.message

<br />

<br />

<br />

| ## Args ||
|---|---|
| `tensor` | A `Tensor`. Must be one of the following types: `bfloat16`, `half`, `float32`, `float64`. |
| `message` | A `string`. Prefix of the error message. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor`. Has the same type as `tensor`. ||

<br />