Spec-Zone.ru › TensorFlow

tf.compat.v1.data.experimental.make_csv_dataset

Читает файлы CSV в набор данных.

tf.compat.v1.data.experimental.make_csv_dataset(
    file_pattern,
    batch_size,
    column_names=None,
    column_defaults=None,
    label_name=None,
    select_columns=None,
    field_delim=',',
    use_quote_delim=True,
    na_value='',
    header=True,
    num_epochs=None,
    shuffle=True,
    shuffle_buffer_size=10000,
    shuffle_seed=None,
    prefetch_buffer_size=None,
    num_parallel_reads=None,
    sloppy=False,
    num_rows_for_inference=100,
    compression_type=None,
    ignore_errors=False,
    encoding='utf-8'
)

Читает файлы CSV в набор данных, где каждый элемент набора данных — это кортеж (признаки, метки), соответствующий пакету строк CSV. Словарь признаков сопоставляет имена столбцов признаков с Tensors, содержащими соответствующие данные признаков, а метки — это Tensor, содержащий данные меток пакета.

По умолчанию предполагается, что первые строки файлов CSV содержат заголовки со списком имен столбцов. Если первые строки не являются заголовками, задайте header=False и укажите имена столбцов с помощью аргумента column_names.

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

Например, предположим, что у вас есть файл CSV, содержащий

Feature_A Feature_B
1 "a"
2 "b"
3 "c"
4 "d"
# No label column specified
dataset = tf.data.experimental.make_csv_dataset(filename, batch_size=2)
iterator = dataset.as_numpy_iterator()
print(dict(next(iterator)))
# prints a dictionary of batched features:
# OrderedDict([('Feature_A', array([1, 4], dtype=int32)),
#              ('Feature_B', array([b'a', b'd'], dtype=object))])
# Set Feature_B as label column
dataset = tf.data.experimental.make_csv_dataset(
    filename, batch_size=2, label_name="Feature_B")
iterator = dataset.as_numpy_iterator()
print(next(iterator))
# prints (features, labels) tuple:
# (OrderedDict([('Feature_A', array([1, 2], dtype=int32))]),
#  array([b'a', b'b'], dtype=object))

Дополнительные примеры чтения данных CSV с помощью make_csv_dataset см. в руководстве по загрузке данных CSV.

Аргументы
file_pattern Список файлов или шаблонов путей к файлам, содержащих записи CSV. Правила для шаблонов см. в разделе tf.io.gfile.glob.
batch_size Целое число, задающее количество записей, объединяемых в один пакет.
column_names Необязательный список строк, соответствующих столбцам CSV в указанном порядке. По одной строке на каждый столбец входной записи. Если список не указан, имена столбцов определяются по первой строке записей. Эти имена будут ключами словаря признаков каждого элемента набора данных.
column_defaults Необязательный список значений по умолчанию для полей CSV. По одному элементу на каждый выбранный столбец входной записи. Каждый элемент списка — это либо допустимый тип данных CSV (float32, float64, int32, int64 или string), либо Tensor одного из перечисленных типов. Тензор может быть скалярным значением по умолчанию (если столбец необязательный) или пустым тензором (если столбец обязательный). Если вместо тензора указан тип данных, столбец также считается обязательным. Если список не указан, типы пытаются определить, считывая первые num_rows_for_inference строк указанных файлов; при этом предполагается, что все столбцы необязательные, и для числовых значений по умолчанию используется 0, а для строковых — "". Если указаны и этот аргумент, и select_columns, их длины должны совпадать, а column_defaults должен быть отсортирован по возрастанию индекса столбца.
label_name Необязательная строка, соответствующая столбцу меток. Если указана, данные этого столбца возвращаются в виде отдельного Tensor из словаря признаков.
select_columns Необязательный список целочисленных индексов или имен столбцов, задающий подмножество выбираемых столбцов данных CSV. Если указаны имена столбцов, они должны соответствовать именам, заданным в column_names или определенным по строкам заголовка файла. Если указан этот аргумент, будут обработаны и возвращены только выбранные столбцы CSV. Это ускоряет разбор данных и снижает потребление памяти. Если указаны и этот аргумент, и column_defaults, их длины должны совпадать, а column_defaults должен быть отсортирован по возрастанию индекса столбца.
field_delim Необязательный string. По умолчанию — ",". Символ-разделитель полей в записи.
use_quote_delim Необязательное логическое значение. По умолчанию — True. Если значение равно false, двойные кавычки рассматриваются как обычные символы внутри строковых полей.
na_value Дополнительная строка, распознаваемая как NA/NaN.
header Логическое значение, указывающее, соответствуют ли первые строки предоставленных файлов CSV строкам заголовков с именами столбцов и следует ли исключить их из данных.
num_epochs Целое число, задающее количество повторений этого набора данных. Если значение равно None, набор данных циклически перебирается бесконечно.
shuffle Логическое значение, указывающее, следует ли перемешивать входные данные.
shuffle_buffer_size Размер буфера, используемого для перемешивания. Большой размер буфера обеспечивает более качественное перемешивание, но увеличивает потребление памяти и время запуска.
shuffle_seed Начальное значение генератора случайных чисел для перемешивания.
prefetch_buffer_size Целое число, задающее количество пакетов признаков, предварительно считываемых для повышения производительности. Рекомендуемое значение — количество пакетов, обрабатываемых за один шаг обучения. По умолчанию используется автоматическая настройка.
num_parallel_reads Количество потоков для чтения записей CSV из файлов. Если значение >1, результаты будут чередоваться. По умолчанию — 1.
sloppy Если значение равно True, производительность чтения повысится за счет недетерминированного порядка. Если значение равно False, порядок создаваемых элементов детерминирован до перемешивания (элементы все еще перемешиваются, если shuffle=True. Обратите внимание: если задано начальное значение, порядок элементов после перемешивания будет детерминированным). По умолчанию — False.
num_rows_for_inference Количество строк файла, используемых для определения типов, если record_defaults не указан. Если значение равно None, считываются все строки всех файлов. По умолчанию — 100.
compression_type (Необязательно.) Скалярный объект tf.string, принимающий одно из значений "" (без сжатия), "ZLIB" или "GZIP". По умолчанию сжатие не используется.
ignore_errors (Необязательно.) Если значение равно True, ошибки при разборе файлов CSV, например некорректные данные или пустые строки, игнорируются, и обработка продолжается со следующей допустимой записью CSV. В противном случае при обнаружении недопустимых записей набор данных выдает ошибку и прекращает обработку. По умолчанию — False.
encoding Кодировка для чтения. По умолчанию — UTF-8.
Возвращает
Набор данных, каждый элемент которого — это кортеж (признаки, метки), соответствующий пакету из batch_size строк CSV. Словарь признаков сопоставляет имена столбцов признаков с Tensors, содержащими данные соответствующих столбцов, а метки — это Tensor, содержащий данные столбца меток, указанного в label_name.
Вызывает исключения
ValueError Если любой из аргументов имеет неверный формат.

© 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/compat/v1/data/experimental/make_csv_dataset

Spec-Zone.ru

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