# tf.raw_ops.StatelessShuffle

<br />

Randomly and deterministically shuffles a tensor along its first dimension.

#### View aliases


**Compat aliases for migration**

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

[`tf.compat.v1.raw_ops.StatelessShuffle`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/StatelessShuffle)

<br />

    tf.raw_ops.StatelessShuffle(
        value, key, counter, alg, name=None
    )

The tensor is shuffled along dimension 0, such that each `value[j]` is mapped
to one and only one `output[i]`. For example, a mapping that might occur for a
3x2 tensor is:

    [[1, 2],       [[5, 6],
     [3, 4],  ==>   [1, 2],
     [5, 6]]        [3, 4]]

The outputs are a deterministic function of `value`, `key`, `counter` and `alg`.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `value` | A `Tensor`. The tensor to be shuffled. |
| `key` | A `Tensor` of type `uint64`. Key for the counter-based RNG algorithm (shape uint64\[1\]). |
| `counter` | A `Tensor` of type `uint64`. Initial counter for the counter-based RNG algorithm (shape uint64\[2\] or uint64\[1\] depending on the algorithm). If a larger vector is given, only the needed portion on the left (i.e. \[:N\]) will be used. |
| `alg` | A `Tensor` of type `int32`. The RNG algorithm (shape int32\[\]). |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

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

<br />