Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验

开始使用

手动配置

本指南将向您展示如何为数据集存储库配置自定义结构。该示例数据集配套合集展示了文档的每个部分。

具有受支持结构和文件格式的数据集在其 Hub 上的数据集页面上自动具有数据集查看器。您可以使用 YAML 定义查看器使用的数据集拆分、子集和构建器参数。

还可以为同一数据集定义多个子集(也称为“配置”)(例如,如果数据集具有各种独立文件)。

拆分

如果您有多个文件并希望定义哪个文件进入哪个拆分,则可以在 README.md 的顶部使用 YAML。

例如,给定一个像这样的存储库

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

您可以通过在 README.md 顶部的 YAML 块中添加 configs 字段来为您的拆分定义一个子集

---
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 字段。

多个子集

您的数据集可能有多个您希望能够单独使用的数据子集。例如,每个子集在 Hugging Face Hub 的数据集查看器中都有自己的下拉菜单。

在这种情况下,您可以在 YAML 中的 configs 字段内定义子集列表

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"
---

构建器参数

不仅 data_files,其他特定于构建器的参数也可以通过 YAML 传递,从而在加载数据的方式上提供更大的灵活性,而无需任何自定义代码。例如,定义在哪个子集中使用哪个分隔符来加载您的 csv 文件

---
configs:
- config_name: tab
  data_files: "main_data.csv"
  sep: "\t"
- config_name: comma
  data_files: "additional_data.csv"
  sep: ","
---

请参阅特定构建器的文档以查看它们具有的参数。

您可以使用 default: true 设置默认子集

- config_name: main_data
  data_files: "main_data.csv"
  default: true
< > 在 GitHub 上更新