tf.data.experimental.make_batched_features_dataset
Возвращает Dataset словарей признаков из протобуферов Example.
tf.data.experimental.make_batched_features_dataset(
file_pattern,
batch_size,
features,
reader=None,
label_key=None,
reader_args=None,
num_epochs=None,
shuffle=True,
shuffle_buffer_size=10000,
shuffle_seed=None,
prefetch_buffer_size=None,
reader_num_threads=None,
parser_num_threads=None,
sloppy_ordering=False,
drop_final_batch=False
)
Используется в блокнотах
| Используется в учебных материалах |
|---|
Если указан аргумент label_key, возвращает Dataset кортежей, состоящих из словарей признаков и метки.
Пример:
serialized_examples = [
features {
feature { key: "age" value { int64_list { value: [ 0 ] } } }
feature { key: "gender" value { bytes_list { value: [ "f" ] } } }
feature { key: "kws" value { bytes_list { value: [ "code", "art" ] } } }
},
features {
feature { key: "age" value { int64_list { value: [] } } }
feature { key: "gender" value { bytes_list { value: [ "f" ] } } }
feature { key: "kws" value { bytes_list { value: [ "sports" ] } } }
}
]
Можно использовать следующие аргументы:
features: {
"age": FixedLenFeature([], dtype=tf.int64, default_value=-1),
"gender": FixedLenFeature([], dtype=tf.string),
"kws": VarLenFeature(dtype=tf.string),
}
Ожидаемый результат:
{
"age": [[0], [-1]],
"gender": [["f"], ["f"]],
"kws": SparseTensor(
indices=[[0, 0], [0, 1], [1, 0]],
values=["code", "art", "sports"]
dense_shape=[2, 2]),
}
| Аргументы | |
|---|---|
file_pattern | Список файлов или шаблонов путей к файлам, содержащих записи Example. Правила для шаблонов см. в разделе tf.io.gfile.glob. |
batch_size | Целое число, указывающее количество записей, объединяемых в один пакет. |
features | dict, сопоставляющий ключи признаков значениям FixedLenFeature или VarLenFeature. См. раздел tf.io.parse_example. |
reader | Функция или класс, который можно вызвать с тензором filenames и (необязательно) reader_args и который возвращает Dataset тензоров Example. По умолчанию используется tf.data.TFRecordDataset. |
label_key | (Необязательно) Строка, соответствующая ключу, по которому метки хранятся в tf.Examples. Если указана, она должна быть одним из ключей features, иначе возникает ValueError. |
reader_args | Дополнительные аргументы, передаваемые классу чтения. |
num_epochs | Целое число, задающее количество проходов по набору данных. Если указано None, набор данных перебирается бесконечно. По умолчанию — None. |
shuffle | Логическое значение, указывающее, нужно ли перемешивать входные данные. По умолчанию — True. |
shuffle_buffer_size | Размер буфера ShuffleDataset. Большой размер обеспечивает более качественное перемешивание, но увеличивает использование памяти и время запуска. |
shuffle_seed | Начальное значение генератора случайных чисел для перемешивания. |
prefetch_buffer_size | Количество пакетов признаков, загружаемых заранее для повышения производительности. Рекомендуемое значение — количество пакетов, используемых на одном шаге обучения. По умолчанию используется автоматическая настройка. |
reader_num_threads | Количество потоков для чтения записей Example. Если значение >1, результаты будут чередоваться. По умолчанию — 1. |
parser_num_threads | Количество потоков для разбора тензоров Example в словарь тензоров Feature. По умолчанию — 2. |
sloppy_ordering | Если True, производительность чтения повышается за счет недетерминированного порядка. Если False, порядок элементов до перемешивания детерминирован (элементы всё равно перемешиваются, если shuffle=True. Обратите внимание: если задано начальное значение, порядок элементов после перемешивания детерминирован). По умолчанию — False. |
drop_final_batch | Если True и размер пакета не делит размер входного набора данных нацело, последний пакет меньшего размера будет отброшен. По умолчанию — False. |
| Возвращает | |
|---|---|
Набор данных из элементов dict (или кортеж из элементов dict и метки). Каждый dict сопоставляет ключи признаков объектам Tensor или SparseTensor. |
| Вызывает исключения | |
|---|---|
TypeError | Если reader имеет неправильный тип. |
ValueError | Если label_key не является одним из ключей features. |
© 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/make_batched_features_dataset