# tf.math.in_top_k

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/nn_ops.py#L6564-L6597) |

Outputs whether the targets are in the top `K` predictions.

#### View aliases


**Main aliases**

[`tf.nn.in_top_k`](https://www.tensorflow.org/api_docs/python/tf/math/in_top_k)

<br />

    tf.math.in_top_k(
        targets, predictions, k, name=None
    )

This outputs a `batch_size` bool array, an entry `out[i]` is `true` if the
prediction for the target class is finite (not inf, -inf, or nan) and among
the top `k` predictions among all predictions for example `i`.
`predictions` does not have to be normalized.

Note that the behavior of `InTopK` differs from the `TopK` op in its handling
of ties; if multiple classes have the same prediction value and straddle the
top-`k` boundary, all of those classes are considered to be in the top `k`.

    target = tf.constant([0, 1, 3])
    pred = tf.constant([
     [1.2, -0.3, 2.8, 5.2],
     [0.1, 0.0, 0.0, 0.0],
     [0.0, 0.5, 0.3, 0.3]],
     dtype=tf.float32)
    print(tf.math.in_top_k(target, pred, 2))
    tf.Tensor([False  True  True], shape=(3,), dtype=bool)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `targets` | A `batch_size` vector of class ids. Must be `int32` or `int64`. |
| `predictions` | A `batch_size` x `classes` tensor of type `float32`. |
| `k` | An `int`. The parameter to specify search space. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor` with the same shape of `targets` with type of `bool`. Each element specifies if the target falls into top-k predictions. ||

<br />