Hub documentation

Имена файлов и разбиения

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Имена файлов и разбиения

Чтобы разместить и поделиться своим набором данных, создайте репозиторий датасета на Hugging Face Hub и загрузите файлы с данными.

В этом руководстве показано, как называть файлы и каталоги в репозитории набора данных при его загрузке, чтобы активировать все функции Datasets Hub, такие как Dataset Viewer. Дополнительные сведения см. в сопутствующей подборке примеров наборов данных.

Набор данных с поддерживаемой структурой и форматами файлов автоматически получает просмотрщик набора данных на своей странице в Hub.

Обратите внимание, что если ни одна из описанных ниже структур не подходит для вашего случая, вы можете получить более точный контроль над определением разбиений и подмножеств с помощью Ручной настройки.

Базовый сценарий использования

Если ваш набор данных не разделён на обучающую/валидационную/тестовую выборки, самая простая структура данных — это один файл: data.csv (это работает с любым поддерживаемым форматом файла и любым именем файла).

Ваш репозиторий также будет содержать файл README.md, который является карточкой набора данных, отображаемой на странице вашего набора данных.

my_dataset_repository/
├── README.md
└── data.csv

Разделения

Некоторые шаблоны в репозитории набора данных можно использовать для отнесения определённых файлов к разбиениям train/validation/test.

Имя файла

Вы можете назвать файлы данных в соответствии с разбиениями train, test и validation:

my_dataset_repository/
├── README.md
├── train.csv
├── test.csv
└── validation.csv

Если у вас нет нетрадиционных разбиений, то имя разбиения можно указать в любом месте имени файла данных. Единственное правило состоит в том, что имя разбиения должно быть отделено от остального текста символами, не являющимися буквами, например test-file.csv, а не testfile.csv. В качестве разделителей поддерживаются подчёркивания, дефисы, пробелы, точки и цифры.

Например, все следующие имена файлов допустимы:

  • train split: train.csv, my_train_file.csv, train1.csv
  • раздел для валидации: validation.csv, my_validation_file.csv, validation1.csv
  • test split: test.csv, my_test_file.csv, test1.csv

Имя каталога

Вы можете разместить файлы данных в разных каталогах с именами train, test и validation, где каждый каталог содержит файлы данных для соответствующей части:

my_dataset_repository/
├── README.md
└── data/
    ├── train/
    │   └── data.csv
    ├── test/
    │   └── more_data.csv
    └── validation/
        └── even_more_data.csv

Ключевые слова

Существует несколько способов обозначения разбиений на обучающую/валидационную/тестовую выборки. Валидационное разбиение иногда называют «dev», а тестовое — «eval». Поддерживаются и другие названия разбиений, при этом следующие ключевые слова эквивалентны:

  • train, обучение
  • validation, valid, val, dev
  • test, testing, eval, evaluation

Таким образом, структура ниже является допустимым репозиторием:

my_dataset_repository/
├── README.md
└── data/
    ├── training.csv
    ├── eval.csv
    └── valid.csv

Несколько файлов на один сплит

Разделения могут охватывать несколько файлов, например:

my_dataset_repository/
├── README.md
├── train_0.csv
├── train_1.csv
├── train_2.csv
├── train_3.csv
├── test_0.csv
└── test_1.csv

Убедитесь, что во всех файлах вашего набора train в именах есть train (то же самое для тестового и валидационного наборов). Вы даже можете добавить префикс или суффикс к train в имени файла (например, my_train_file_00001.csv).

Для удобства вы также можете разместить файлы данных в разных каталогах. В этом случае имя разбиения выводится из имени каталога.

my_dataset_repository/
├── README.md
└── data/
    ├── train/
    │   ├── shard_0.csv
    │   ├── shard_1.csv
    │   ├── shard_2.csv
    │   └── shard_3.csv
    └── test/
        ├── shard_0.csv
        └── shard_1.csv

Пользовательское имя разбиения

Если разделы вашего набора данных имеют пользовательские имена, отличные от train, test или validation, вы можете назвать файлы данных в формате data/<split_name>-xxxxx-of-xxxxx.csv.

Вот пример с тремя разбивками: train, test и random:

my_dataset_repository/
├── README.md
└── data/
    ├── train-00000-of-00003.csv
    ├── train-00001-of-00003.csv
    ├── train-00002-of-00003.csv
    ├── test-00000-of-00001.csv
    ├── random-00000-of-00003.csv
    ├── random-00001-of-00003.csv
    └── random-00002-of-00003.csv
Update on GitHub