Hub documentation
Ручная настройка
Ручная настройка
В этом руководстве показано, как настроить собственную структуру для репозитория набора данных. Сопутствующая коллекция примеров наборов данных демонстрирует каждый раздел документации.
Набор данных с поддерживаемой структурой и форматами файлов автоматически получает Dataset Viewer на своей странице в Hub. С помощью YAML можно определить сплиты, подмножества и параметры билдера, которые используются в Viewer.
Также можно определить несколько подмножеств (также называемых «конфигурациями») для одного и того же набора данных (например, если набор данных содержит различные независимые файлы).
Разделения
Если у вас несколько файлов и вы хотите определить, какой файл попадает в какой сплит, вы можете использовать YAML в начале вашего README.md.
Например, если у вас есть репозиторий, похожий на этот:
my_dataset_repository/
├── README.md
├── data.csv
└── holdout.csvВы можете определить подмножество для своих разбиений, добавив поле configs в YAML-блок в начале вашего README.md:
---
configs:
- config_name: default
data_files:
- split: train
path: "data.csv"
- split: test
path: "holdout.csv"
---Вы можете выбрать несколько файлов для одного сплита, используя список путей:
my_dataset_repository/
├── README.md
├── data/
│ ├── abc.csv
│ └── def.csv
└── holdout/
└── ghi.csv---
configs:
- config_name: default
data_files:
- split: train
path:
- "data/abc.csv"
- "data/def.csv"
- split: test
path: "holdout/ghi.csv"
---Или вы можете использовать шаблоны glob, чтобы автоматически перечислить все необходимые файлы:
---
configs:
- config_name: default
data_files:
- split: train
path: "data/*.csv"
- split: test
path: "holdout/*.csv"
---Обратите внимание, что поле
config_nameявляется обязательным, даже если у вас есть только один поднабор.
Несколько подмножеств
Ваш набор данных может содержать несколько подмножеств, которые вы хотите использовать по отдельности. Например, у каждого подмножества есть собственный выпадающий список в Dataset Viewer на Hugging Face Hub.
В этом случае можно определить список подмножеств внутри поля configs в YAML:
my_dataset_repository/
├── README.md
├── main_data.csv
└── additional_data.csv---
configs:
- config_name: main_data
data_files: "main_data.csv"
- config_name: additional_data
data_files: "additional_data.csv"
---Обратите внимание, что порядок подмножеств, отображаемых в просмотрщике, по умолчанию сначала, затем в алфавитном порядке.
Вы можете задать подмножество по умолчанию с помощью
default: true- config_name: main_data data_files: "main_data.csv" default: trueЭто полезно для того, чтобы определить, какой поднабор данных сначала отображает Dataset Viewer, а какой поднабор по умолчанию загружают библиотеки данных.
Каталог данных
Вместо перечисления отдельных файлов с помощью data_files можно использовать data_dir, чтобы указать каталог. Файлы в этом каталоге определяются автоматически на основе расширений. Это особенно полезно, если данные организованы в подкаталогах:
Например, в случае, подобном этому, можно просто использовать data_dir, так как данные каждого подмножества хранятся в собственном каталоге:
my_dataset_repository/
├── README.md
├── main/
│ ├── train.csv
│ └── test.csv
└── extra/
├── train.csv
└── test.csv---
configs:
- config_name: main
data_dir: "main"
- config_name: extra
data_dir: "extra"
---Если задан параметр data_dir, сборщик определяет файлы относительно этой директории. Если в директории есть файлы, соответствующие стандартному шаблону именования сплитов (например, train.csv, test.csv), сплиты назначаются автоматически, без необходимости явно указывать data_files.
Вы также можете объединять data_dir с data_files для более точного управления:
---
configs:
- config_name: default
data_dir: "data"
data_files:
- split: train
path: "training_*.csv"
- split: test
path: "eval_*.csv"
---В этом случае паттерны path в data_files разрешаются относительно data_dir.
Параметры конструктора
Не только data_files, но и другие параметры, специфичные для конкретного билдера, можно передать через YAML, что позволяет гибче настраивать загрузку данных без необходимости писать собственный код. Например, можно указать, какой разделитель использовать в каждом подмножестве при загрузке файлов csv:
---
configs:
- config_name: tab
data_files: "main_data.csv"
sep: "\t"
- config_name: comma
data_files: "additional_data.csv"
sep: ","
---См. документацию конкретных сборщиков, чтобы узнать, какие параметры они поддерживают.
Update on GitHub