Считывает 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, они должны иметь одинаковую длину, и предполагается, что column_defaults отсортирован в порядке возрастания индекса столбца.
label_name
Необязательная строка, соответствующая столбцу меток. Если указано, данные для этого столбца возвращаются как отдельный Tensor от словаря признаков, чтобы набор данных соответствовал формату, ожидаемому функцией ввода tf.Estimator.train или tf.Estimator.evaluate.
select_columns
Необязательный список целочисленных индексов или имен столбцов строк, который указывает подмножество столбцов данных CSV для выбора. Если указаны имена столбцов, они должны соответствовать именам, указанным в column_names или полученным из заголовочных строк файла. Когда этот аргумент указан, будут анализироваться и возвращаться только подмножество столбцов CSV, соответствующее указанным столбцам. Использование этого приводит к более быстрому анализу и меньшему использованию памяти. Если оба этот и column_defaults указаны, они должны иметь одинаковую длину, и column_defaults предполагается, что отсортирован в порядке возрастания индекса столбца.
field_delim
Необязательный string. По умолчанию ",". Разделитель символов для разделения полей в записи.
use_quote_delim
Необязательный булев. По умолчанию True. Если ложь, двойные кавычки обрабатываются как обычные символы внутри строковых полей.
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). Обратите внимание, что если установлен seed, порядок элементов после перемешивания является детерминированным. По умолчанию 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
Если какой-либо из аргументов имеет неправильный формат.