tf.data.experimental.make_batched_features_dataset
| Просмотреть исходный код на GitHub |
Возвращает Dataset словарей признаков из Example протоколов.
tf.data.experimental.make_batched_features_dataset(
file_pattern, batch_size, features, reader=tf.data.TFRecordDataset,
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 является подклассом tf.compat.v1.ReaderBase. |
ValueError | Если label_key не является одним из features ключей. |
© 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/make_batched_features_dataset