Метод shuffle
Метод shuffle класса Generator перемешивает
элементы тензора вдоль его первой размерности. Метод
применяется к тензору, который передается первым параметром.
Вторым параметром можно передать целое число seed
для детерминированного результата. Метод возвращает новый
тензор с перемешанными элементами и не изменяет исходный.
Синтаксис
generator.shuffle(x, [seed])
Пример
Давайте создадим генератор и перемешаем тензор из пяти чисел:
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(1)
t = tf.constant([1, 2, 3, 4, 5])
res = gen.shuffle(t)
print(res)
Результат выполнения кода:
tf.Tensor([4 2 5 1 3], shape=(5,), dtype=int32)
Пример
Давайте перемешаем двумерный тензор вдоль первой размерности:
<+python+>
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(1)
t = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
res = gen.shuffle(t)
print(res)
<-python+>
Результат выполнения кода:
tf.Tensor(
[[4 5 6]
[7 8 9]
[1 2 3]], shape=(3, 3), dtype=int32)
Пример
Давайте передадим параметр seed для
воспроизводимого результата:
import tensorflow as tf
tf.random.set_seed(0)
gen = tf.random.Generator.from_seed(1)
t = tf.constant([1, 2, 3, 4, 5])
res = gen.shuffle(t, seed=42)
print(res)
Результат выполнения кода:
tf.Tensor([3 5 1 4 2], shape=(5,), dtype=int32)