Hub documentation

Ручная настройка

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ручная настройка

В этом руководстве показано, как настроить собственную структуру для репозитория набора данных. Сопутствующая коллекция примеров наборов данных демонстрирует каждый раздел документации.

Набор данных с поддерживаемой структурой и форматами файлов автоматически получает 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