tf.data.experimental.shuffle_and_repeat
| View source on GitHub |
Перемешивает и повторяет набор данных, повторно перемешивая при каждом повторении. (устарело)
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 установлено в 1000, то shuffle изначально выберет случайный элемент только из первых 1000 элементов в буфере. После выбора элемента его место в буфере заменяется следующим (т.е. 1001-м) элементом, сохраняя буфер из 1000 элементов.
| Аргументы | |
|---|---|
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. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/data/experimental/shuffle_and_repeat