Spec-Zone.ru › TensorFlow

tf.keras.preprocessing.text_dataset_from_directory

Создаёт tf.data.Dataset из текстовых файлов в каталоге.

Просмотр псевдонимов

Основные псевдонимы

tf.keras.utils.text_dataset_from_directory

tf.keras.preprocessing.text_dataset_from_directory(
    directory,
    labels='inferred',
    label_mode='int',
    class_names=None,
    batch_size=32,
    max_length=None,
    shuffle=True,
    seed=None,
    validation_split=None,
    subset=None,
    follow_links=False,
    verbose=True
)

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

Используется в учебниках
  • Базовая классификация текста
  • Загрузка текста
  • Классификация текста с помощью BERT
  • Матрица эмбеддингов с начальным значением
  • Векторные представления слов

Если ваша структура каталогов выглядит так:

main_directory/
...class_a/
......a_text_1.txt
......a_text_2.txt
...class_b/
......b_text_1.txt
......b_text_2.txt

Тогда вызов text_dataset_from_directory(main_directory, labels='inferred') вернёт tf.data.Dataset, который выдает пакеты текстов из подкаталогов class_a и class_b, вместе с метками 0 и 1 (0 соответствует class_a, а 1 соответствует class_b).

В настоящее время поддерживаются только .txt файлы.

Аргументы
directory Каталог, где расположены данные. Если labels равен "inferred", он должен содержать подкаталоги, каждый из которых содержит текстовые файлы для класса. В противном случае структура каталогов игнорируется.
labels Либо "inferred" (метки генерируются из структуры каталогов), None (без меток), либо список/кортеж целочисленных меток такого же размера, как количество текстовых файлов, найденных в каталоге. Метки должны быть отсортированы в соответствии с алфавитно-цифровым порядком путей к текстовым файлам (полученными с помощью os.walk(directory) в Python).
label_mode Строка, описывающая кодировку labels. Доступные варианты:
  • "int": означает, что метки закодированы как целые числа (например, для sparse_categorical_crossentropy потери).
  • "categorical" означает, что метки закодированы как категориальный вектор (например, для categorical_crossentropy потери).
  • "binary" означает, что метки (их может быть только 2) закодированы как float32 скаляры со значениями 0 или 1 (например, для binary_crossentropy).
  • None (без меток).
class_names Действительно только если "labels" равен "inferred". Это явный список имен классов (должен совпадать с именами подкаталогов). Используется для управления порядком классов (в противном случае используется алфавитно-цифровой порядок).
batch_size Размер пакетов данных. По умолчанию 32. Если None, данные не будут сгруппированы в пакеты (набор данных будет выдавать отдельные образцы).
max_length Максимальный размер текстовой строки. Тексты, превышающие этот размер, будут усечены до max_length.
shuffle Нужно ли перемешивать данные. По умолчанию True. Если установлено False, данные сортируются в алфавитно-цифровом порядке.
seed Необязательное случайное семя для перемешивания и преобразований.
validation_split Необязательное число с плавающей точкой от 0 до 1, доля данных для резервирования для проверки.
subset Подмножество данных для возвращения. Один из "training", "validation" или "both". Используется только если validation_split задано. При subset="both", утилита возвращает пару наборов данных (обучающие и проверочные наборы данных соответственно).
follow_links Нужно ли посещать подкаталоги, на которые указывают символьные ссылки. По умолчанию False.
verbose Нужно ли отображать информацию о количестве классов и количестве найденных файлов. По умолчанию True.
Возвращает

Объект tf.data.Dataset.

  • Если label_mode равен None, он выдает string тензоры формы (batch_size,), содержащие содержимое пакета текстовых файлов.
  • В противном случае он выдает кортеж (texts, labels), где texts имеет форму (batch_size,), а labels следует формату, описанному ниже.

Правила относительно формата меток:

  • если label_mode равен int, метки — это int32 тензор формы (batch_size,).
  • если label_mode равен binary, метки — это float32 тензор из 1 и 0 формы (batch_size, 1).
  • если label_mode равен categorical, метки — это float32 тензор формы (batch_size, num_classes), представляющий однократное кодирование индекса класса.

© 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/keras/preprocessing/text_dataset_from_directory

Spec-Zone.ru

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