# tf.debugging.assert_rank

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 1 version](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/debugging/assert_rank) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/ops/check_ops.py#L1175-L1205) |

Assert that `x` has rank equal to `rank`.

#### View aliases


**Main aliases**

[`tf.assert_rank`](https://www.tensorflow.org/api_docs/python/tf/debugging/assert_rank)

<br />

    tf.debugging.assert_rank(
        x, rank, message=None, name=None
    )

This Op checks that the rank of `x` is equal to `rank`.

If `x` has a different rank, `message`, as well as the shape of `x` are
printed, and `InvalidArgumentError` is raised.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `x` | `Tensor`. |
| `rank` | Scalar integer `Tensor`. |
| `message` | A string to prefix to the default message. |
| `name` | A name for this operation (optional). Defaults to "assert_rank". |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Op raising `InvalidArgumentError` unless `x` has specified rank. If static checks determine `x` has correct rank, a `no_op` is returned. This can be used with [`tf.control_dependencies`](https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/control_dependencies) inside of [`tf.function`](https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/function)s to block followup computation until the check has executed. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `InvalidArgumentError` | if the check can be performed immediately and `x` does not have rank `rank`. The check can be performed immediately during eager execution or if the shape of `x` is statically known. |

<br />

#### Eager Compatibility

returns None