Spec-Zone.ru › TensorFlow 1.15

tf.data.experimental.bucket_by_sequence_length

Просмотреть исходный код на GitHub

Преобразование, которое группирует элементы в Dataset по длине.

Просмотреть псевдонимы

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.data.experimental.bucket_by_sequence_length, `tf.compat.v2.data.experimental.bucket_by_sequence_length`

tf.data.experimental.bucket_by_sequence_length(
    element_length_func, bucket_boundaries, bucket_batch_sizes, padded_shapes=None,
    padding_values=None, pad_to_bucket_boundary=False, no_padding=False,
    drop_remainder=False
)

Элементы Dataset группируются по длине, а затем заполняются и объединяются в пакет.

Это полезно для задач с последовательностями, в которых элементы имеют переменную длину. Группировка элементов с похожими длинами уменьшает общую долю заполнения в пакете, что повышает эффективность шага обучения.

Аргументы
element_length_func Функция, преобразующая элемент в Dataset в tf.int32, определяющая длину элемента, которая определяет корзину, в которую он попадает.
bucket_boundaries Верхние границы длин корзин.
bucket_batch_sizes Размер пакета на корзину. Длина должна быть len(bucket_boundaries) + 1.
padded_shapes Вложенная структура tf.TensorShape для передачи в tf.data.Dataset.padded_batch. Если не указано, используется dataset.output_shapes, что приведет к тому, что измерения переменной длины будут заполнены до максимальной длины в каждом пакете.
padding_values Значения для заполнения, передаваемые в tf.data.Dataset.padded_batch. По умолчанию заполнение нулями.
pad_to_bucket_boundary bool, если False, будет заполнять измерения неизвестного размера до максимальной длины в пакете. Если True, будет заполнять измерения неизвестного размера до границы корзины минус 1 (т. е. максимальной длины в каждой корзине), и вызывающий должен убедиться, что исходный Dataset не содержит элементов с длиной, большей max(bucket_boundaries).
no_padding Параметр, указывающий, нужно ли заполнять признаки пакета (признаки должны быть либо типа tf.SparseTensor, либо иметь одинаковую форму).
drop_remainder (Необязательно.) Скалярное tf.bool значение tf.Tensor, представляющее собой значение, по которому необходимо отбрасывать последний пакет в случае, если в нем меньше batch_size элементов; по умолчанию меньший пакет не отбрасывается.
Возвращаемое значение
Функция преобразования Dataset, которую можно передать в tf.data.Dataset.apply.
Исключения
ValueError если len(bucket_batch_sizes) != len(bucket_boundaries) + 1.

© 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/r1.15/api_docs/python/tf/data/experimental/bucket_by_sequence_length

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API