tf.data.experimental.shuffle_and_repeat
Перемешивает и повторяет набор данных, заново перемешивая его при каждом повторении. (устарело)
tf.data.experimental.shuffle_and_repeat(
buffer_size, count=None, seed=None
)
d = tf.data.Dataset.from_tensor_slices([1, 2, 3]) d = d.apply(tf.data.experimental.shuffle_and_repeat(2, count=2)) [elem.numpy() for elem in d] # doctest: +SKIP [2, 3, 1, 1, 3, 2]
dataset.apply( tf.data.experimental.shuffle_and_repeat(buffer_size, count, seed))
создаёт такой же результат, как
dataset.shuffle( buffer_size, seed=seed, reshuffle_each_iteration=True).repeat(count)
При каждом повторении этот набор данных заполняет буфер элементами в количестве buffer_size, а затем случайным образом выбирает элементы из буфера, заменяя выбранные элементы новыми. Для идеального перемешивания установите размер буфера равным общему размеру набора данных.
Например, если набор данных содержит 10 000 элементов, но размер buffer_size установлен равным 1 000, то shuffle сначала выберет случайный элемент только из первых 1 000 элементов в буфере. После выбора элемента его место в буфере займёт следующий элемент (то есть элемент под номером 1 001), при этом размер буфера останется равным 1 000 элементам.
| Аргументы | |
|---|---|
buffer_size | Скалярный tf.int64 tf.Tensor, представляющий максимальное количество элементов, которые будут помещены в буфер при предварительной выборке. |
count | (Необязательно.) Скалярный tf.int64 tf.Tensor, указывающий, сколько раз следует повторить набор данных. По умолчанию (если count равно None или -1) набор данных повторяется бесконечно. |
seed | (Необязательно.) Скалярный tf.int64 tf.Tensor, представляющий случайное начальное значение, которое будет использоваться для создания распределения. Описание поведения см. в разделе tf.random.set_seed. |
| Возвращаемое значение | |
|---|---|
Функция преобразования Dataset, которую можно передать в tf.data.Dataset.apply. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/data/experimental/shuffle_and_repeat