tf.data.experimental.make_batched_features_dataset
| Просмотреть исходный код на GitHub |
Возвращает 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. Обратите внимание, что если seed установлен, порядок элементов после перемешивания является детерминированным). По умолчанию 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/versions/r2.9/api_docs/python/tf/data/experimental/make_batched_features_dataset