Hub documentation
Имена файлов и разбиения
Имена файлов и разбиения
Чтобы разместить и поделиться своим набором данных, создайте репозиторий датасета на 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