Hub documentation

Файлы данных Конфигурация

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Файлы данных Конфигурация

Ограничений на структуру репозиториев с наборами данных нет.

Однако, если вы хотите, чтобы Dataset Viewer отображал определённые файлы данных или разделял ваш датасет на train/validation/test, вам нужно структурировать датасет соответствующим образом. Часто достаточно просто назвать файлы данных в соответствии с именами сплитов, например train.csv и test.csv.

Что такое разбиения и подмножества?

Наборы данных для машинного обучения обычно имеют разбиения (splits) и могут также включать поднаборы (subsets). Как правило, набор данных состоит из разбиений (например, train и test), которые используются на разных этапах обучения и оценки модели. Поднабор (также называемый конфигурацией) — это подмножество данных, входящее в состав более крупного набора. Поднаборы особенно распространены в многоязычных наборах данных для распознавания речи, где для каждого языка может существовать отдельный поднабор. Если вы хотите узнать больше о разбиениях и поднаборах, ознакомьтесь с руководством Разбиения и поднаборы!

split-configs-server

Автоматическое определение разбиений

Разметки (splits) определяются автоматически на основе имён файлов и каталогов. Например, это набор данных с разметками train, test и validation:

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

Чтобы структурировать набор данных, называя файлы или каталоги данных в соответствии с именами разбиений, обратитесь к документации File names and splits и сопутствующей коллекции примеров наборов данных.

Ручная настройка разбиений и подмножеств

Вы можете выбрать файлы данных, которые будут отображаться в Dataset Viewer для вашего набора данных, с помощью YAML. Это полезно, если вы хотите вручную указать, какой файл попадает в какой сплит.

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

Вот пример конфигурации, определяющей подмножество с названием “benchmark” и разбиением test.

configs:
- config_name: benchmark
  data_files:
  - split: test
    path: benchmark.csv

См. документацию по Ручной настройке для получения дополнительной информации. Также ознакомьтесь с примерами наборов данных.

Поддерживаемые форматы файлов

Список поддерживаемых форматов и рекомендации для вашего набора данных приведены на странице документации Форматы файлов. Если ваш набор данных использует файлы CSV или TSV, дополнительную информацию можно найти в примерах наборов данных.

Ошибки ограничения размера в Dataset Viewer (TooBigContentError)

Если вы видите Error code: TooBigContentError, это означает, что просмотрщик датасета не смог прочитать превью в пределах установленных ограничений. Типичные сообщения включают Parquet error: Scan size limit exceeded и The size of the content of the first rows exceeds the maximum supported size.

Что вы можете сделать:

  • Для файлов Parquet используйте меньшие группы строк и включайте индекс страниц (write_page_index=True), чтобы Viewer мог читать только необходимые данные.
  • Избегайте очень больших значений в первых строках (очень длинные строки, крупные JSON-объекты, base64-нагрузки). По возможности переносите крупные нагрузки в отдельные файлы.
  • Разделите очень большие файлы на более мелкие фрагменты или части, затем загрузите их повторно.
  • Если проблема сохраняется, изучите раздел Настройка Dataset Viewer и создайте обсуждение на странице вашего набора данных, приложив полный текст ошибки.

Наборы данных изображений, аудио и видео

Для наборов данных классификации изображений/аудио/видео вы также можете использовать каталоги для именования классов изображений/аудио/видео. А если ваши файлы изображений/аудио/видео содержат метаданные (например, подписи, ограничивающие рамки, транскрипты и т. д.), вы можете разместить файлы метаданных рядом с ними.

Мы подготовили два руководства, которые вы можете изучить:

Update on GitHub