You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HuggingFace Dataset中创建4个自定义拆分?

如何在Hugging Face数据集仓库中创建自定义拆分(alpha/beta/delta/gamma)

我有4个结构一致、数据量相同但内容不同的JSON文件,上传到Hugging Face数据集仓库后,尝试过直接放根目录、改名、分文件夹,结果都被自动合并成一个train拆分。现在想加载时得到包含alpha、beta、delta、gamma四个自定义拆分的DatasetDict,不想创建多个独立仓库,解决方案如下:


核心方案:自定义数据集加载脚本

通过在仓库根目录添加加载脚本,明确指定每个拆分对应的文件,让Hugging Face按照你定义的规则加载数据集,而非自动合并。

1. 创建加载脚本dataset.py

在仓库根目录新建dataset.py,写入以下代码:

from datasets import DatasetDict, load_dataset

def _load_custom_splits():
    # 自定义拆分与对应JSON文件的映射
    split_file_map = {
        "alpha": "data-1.json",
        "beta": "data-2.json",
        "delta": "data-3.json",
        "gamma": "data-4.json"
    }
    
    dataset_dict = DatasetDict()
    for split_name, file_path in split_file_map.items():
        # 加载单个文件作为一个独立拆分
        dataset_dict[split_name] = load_dataset("json", data_files=file_path, split="train")
    
    return dataset_dict

# 适配load_dataset调用逻辑
def load_dataset(**kwargs):
    return _load_custom_splits()

2. 整理仓库目录结构

确保仓库文件结构如下:

my-dataset/
├── data-1.json
├── data-2.json
├── data-3.json
├── data-4.json
└── dataset.py

3. 测试加载效果

运行以下代码即可得到目标DatasetDict:

from datasets import load_dataset

ds = load_dataset("myusername/my-dataset")
print(ds)

输出结果:

DatasetDict({
    alpha: Dataset({
        features: ['translation'],
        num_rows: 137991
    }),
    beta: Dataset({
        features: ['translation'],
        num_rows: 137991
    }),
    delta: Dataset({
        features: ['translation'],
        num_rows: 137991
    }),
    gamma: Dataset({
        features: ['translation'],
        num_rows: 137991
    })
})

替代方案:使用YAML配置文件

如果不想写Python脚本,可在仓库根目录创建config.yaml文件:

splits:
  - name: alpha
    data_files: data-1.json
  - name: beta
    data_files: data-2.json
  - name: delta
    data_files: data-3.json
  - name: gamma
    data_files: data-4.json

加载时需指定数据目录:

ds = load_dataset("myusername/my-dataset", data_dir="./")

不过脚本方式更稳定,其他用户无需额外参数即可直接加载到自定义拆分。

内容的提问来源于stack exchange,提问作者Raptor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:13:08