# tf.debugging.assert_rank_at_least

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/ops/check_ops.py#L1161-L1192) |

Assert that `x` has rank of at least `rank`.

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

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

If `x` has a rank lower than `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_at_least". |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Op raising `InvalidArgumentError` unless `x` has specified rank or higher. 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.13/api_docs/python/tf/control_dependencies) inside of [`tf.function`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/function)s to block followup computation until the check has executed. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `InvalidArgumentError` | `x` does not have rank at least `rank`, but the rank cannot be statically determined. |
| `ValueError` | If static checks determine `x` has mismatched rank. |

<br />

<br />

## eager compatibility

<br />

returns None

<br />

<br />