# tf.data.experimental.cardinality

<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/data/experimental/ops/cardinality.py#L33-L64) |

Returns the cardinality of `dataset`, if known.

#### View aliases


**Compat aliases for migration**

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

[`tf.compat.v1.data.experimental.cardinality`](https://www.tensorflow.org/api_docs/python/tf/data/experimental/cardinality)

<br />

    tf.data.experimental.cardinality(
        dataset
    )

The operation returns the cardinality of `dataset`. The operation may return
[`tf.data.experimental.INFINITE_CARDINALITY`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/experimental#INFINITE_CARDINALITY) if `dataset` contains an infinite
number of elements or [`tf.data.experimental.UNKNOWN_CARDINALITY`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/experimental#UNKNOWN_CARDINALITY) if the
analysis fails to determine the number of elements in `dataset` (e.g. when the
dataset source is a file).

    dataset = tf.data.Dataset.range(42)
    print(tf.data.experimental.cardinality(dataset).numpy())
    42
    dataset = dataset.repeat()
    cardinality = tf.data.experimental.cardinality(dataset)
    print((cardinality == tf.data.experimental.INFINITE_CARDINALITY).numpy())
    True
    dataset = dataset.filter(lambda x: True)
    cardinality = tf.data.experimental.cardinality(dataset)
    print((cardinality == tf.data.experimental.UNKNOWN_CARDINALITY).numpy())
    True

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dataset` | A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset) for which to determine cardinality. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A scalar [`tf.int64`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf#int64) `Tensor` representing the cardinality of `dataset`. If the cardinality is infinite or unknown, the operation returns the named constant `INFINITE_CARDINALITY` and `UNKNOWN_CARDINALITY` respectively. ||

<br />