Читает CSV-файлы в набор данных, где каждый элемент — кортеж (признаки, метки), соответствующий пакету строк CSV. Словарь признаков сопоставляет имена столбцов признаков с Tensor содержащими соответствующие данные признаков, а метки — с Tensor содержащими данные меток пакета.
Аргументы
file_pattern
Список файлов или шаблонов путей к файлам, содержащих CSV-записи. См. tf.io.gfile.glob для правил шаблонов.
batch_size
Целое число, представляющее количество записей, объединяемых в один пакет.
column_names
Необязательный список строк, соответствующих столбцам CSV в порядке. Один столбец на столбец входной записи. Если этот параметр не указан, имена столбцов выводятся из первой строки записей. Эти имена будут ключами словаря признаков каждого элемента набора данных.
column_defaults
Необязательный список значений по умолчанию для полей CSV. Один элемент на выбранный столбец входной записи. Каждый элемент в списке — это допустимый тип данных CSV (float32, float64, int32, int64 или строка) или Tensor с одним из указанных типов. Тензор может быть скалярным значением по умолчанию (если столбец необязательный) или пустым тензором (если столбец обязательный). Если вместо тензора указан тип данных, столбец также обрабатывается как обязательный. Если этот список не указан, пытается определить типы, основываясь на чтении первых num_rows_for_inference строк указанных файлов, и предполагает, что все столбцы необязательные, по умолчанию 0 для числовых значений и "" для строковых значений. Если оба этих параметра указаны, они должны иметь одинаковую длину, и предполагается, что select_columns отсортирован в порядке возрастания индекса столбца.
label_name
Необязательная строка, соответствующая столбцу меток. Если указано, данные для этого столбца возвращаются как отдельный Tensor от словаря признаков, чтобы набор данных соответствовал формату, ожидаемому функцией ввода tf.Estimator.train или tf.Estimator.evaluate.
select_columns
Необязательный список целочисленных индексов или имен столбцов строк, указывающий подмножество столбцов данных CSV для выбора. Если указаны имена столбцов, они должны соответствовать именам, указанным в column_names или полученным из заголовков строк файла. Когда этот аргумент указан, анализируются и возвращаются только подмножество столбцов CSV, соответствующие указанным столбцам. Использование этого приводит к более быстрому анализу и меньшему потреблению памяти. Если оба этих параметра указаны, они должны иметь одинаковую длину, и 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.
Возвращает
Набор данных, где каждый элемент — кортеж (признаки, метки), соответствующий пакету batch_size CSV-строк. Словарь признаков сопоставляет имена столбцов признаков с Tensor содержащими соответствующие данные столбцов, а метки — с Tensor содержащими данные столбца меток, указанного в label_name.
Исключения
ValueError
Если любой из аргументов имеет неправильный формат.