Spec-Zone.ru › TensorFlow

tf.data.experimental.make_csv_dataset

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

tf.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'
)

Используется в блокнотах

Используется в руководстве Используется в учебниках
  • tf.data: Создание каналов ввода TensorFlow
  • Оценщики
  • Загрузка CSV-данных
  • Предварительная обработка данных с помощью TensorFlow Transform

Считывает CSV-файлы в набор данных, где каждый элемент набора данных представляет собой кортеж (признаки, метки), который соответствует пакету строк CSV. Словарь признаков сопоставляет имена столбцов признаков с Tensor, содержащими соответствующие данные о признаках, а метки — с 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 или строка) или Tensor с одним из указанных типов. Тензор может быть скалярным значением по умолчанию (если столбец необязателен) или пустым тензором (если столбец обязателен). Если вместо тензора указан тип, столбец также считается обязательным. Если этот список не указан, пытается определить типы на основе чтения первых num_rows_for_inference строк указанных файлов и предполагает, что все столбцы необязательны, принимая значения по умолчанию 0 для числовых значений и "" для строковых значений. Если оба эти параметра указаны, их длина должна быть одинаковой, и предполагается, что column_defaults отсортирован по возрастанию индекса столбца.
label_name Необязательная строка, соответствующая столбцу меток. Если указано, данные этого столбца возвращаются как отдельный Tensor из словаря признаков.
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.
encoding Кодировка, используемая при чтении. По умолчанию UTF-8.
Возвращаемое значение
Набор данных, где каждый элемент представляет собой кортеж (признаки, метки), соответствующий пакету batch_size строк CSV. Словарь признаков сопоставляет имена столбцов признаков с Tensor, содержащими соответствующие данные столбцов, а метки — с 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/data/experimental/make_csv_dataset

Spec-Zone.ru

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