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

如何解决Huggingface Dataset元数据推送Hub后拉取为空的问题?

解决Hugging Face Dataset推送后元数据丢失的问题

问题场景

通过Dataset.from_dict创建带有DatasetInfo的训练、测试、验证数据集,组合成DatasetDict后本地可正常读取子集的info.description,但推送至Hugging Face Hub后拉取数据,子集的info.description返回空字符串。

原因解析

Hugging Face Hub的数据集元数据是基于DatasetDict的全局info生成dataset_info.json文件的。若仅给单个Dataset设置info而未给DatasetDict配置全局元数据,推送时Hub会忽略子集的元数据,生成默认空值。

解决方案

给组合后的DatasetDict设置全局info,再执行推送操作。修改后的代码如下:

from datasets import Dataset, DatasetDict, DatasetInfo

info = DatasetInfo(
    description="my happy lil dataset",
    version="0.0.1",
    homepage="https://www.myhomepage.co.uk"
)

# 创建各子集数据集(无需单独传入info)
train_dataset = Dataset.from_dict(prepare_data(data["train"]))
test_dataset = Dataset.from_dict(prepare_data(data["test"]))
validation_dataset = Dataset.from_dict(prepare_data(data["validation"]))

# 组合为DatasetDict
dataset = DatasetDict({
    "train": train_dataset,
    "test": test_dataset,
    "validation": validation_dataset
})

# 为DatasetDict设置全局元数据
dataset.info = info

# 推送至Hub
dataset.push_to_hub(f"{organization}/{repo_name}", commit_message="Some commit message")

拉取数据后,无论是访问pulled_data.info.description还是pulled_data["train"].info.description,都能正确获取设置的描述信息。若已推送错误版本,重新运行上述代码即可覆盖Hub上的元数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:52:43