← ClaudeAtlas

huggingface-dataset-publishinglisted

当需要创建、上传、验证和维护 Hugging Face Dataset 时使用,尤其是包含图片、多图字段、文本步骤、答案、JSON/metadata 字段的数据集;包括 datasets Features/Image/Sequence 的规范用法、push_to_hub、上传后 load_dataset 回读验证、Dataset Viewer 图片浏览检查、clone dataset repo 后用 git 维护 README/dataset card,以及 token 安全。
black-yt/skills · ★ 2 · Data & Documents · score 63
Install: claude install-skill black-yt/skills
# Hugging Face Dataset Publishing ## 核心原则 - 不要把 Hugging Face token 写进代码、notebook、README、日志或 git history;使用 `HF_TOKEN` 环境变量或 `huggingface-cli login`。 - 图片字段必须用 `datasets.Image` 特征类型,不要只上传本地图片路径字符串;多图字段用 `Sequence(Image())`。 - 上传前先本地构造 `Dataset`/`DatasetDict` 并检查 `features`、样本、图片解码和 JSON 字段。 - 上传后必须用 `load_dataset` 从 Hub 回读验证,确认图片能解码、metadata 可解析、split/config 正确。 - 上传完成后建议 `git clone https://huggingface.co/datasets/<org>/<repo>` 到本地,用 git 维护 `README.md`、dataset card、示例和后续小改动。 - 大数据或大量图片不要随手放在当前目录;明确构建目录、清理临时样本,不把 token、缓存或中间碎片提交。 如果用户贴出了明文 HF token,提醒其撤销/轮换该 token,并在后续代码中改用环境变量。 ## 依赖与登录 安装依赖: ```bash python -m pip install -U datasets huggingface_hub pillow ``` 推荐登录方式: ```bash export HF_TOKEN="hf_xxx" huggingface-cli login --token "$HF_TOKEN" ``` Python 中只从环境变量读取: ```python import os from huggingface_hub import login token = os.environ.get("HF_TOKEN") if token: login(token=token) ``` ## 源码追溯 - `datasets` 和 `huggingface_hub` 版本更新较快;当 `Features`、`Image`、`Sequence`、`push_to_hub` 或 `load_dataset` 行为不符合预期时,优先查看当前安装版本源码。 - `module.__file__` 可定位安装路径。 - `inspect.getsource(...)` 可查看函数、类或方法实现。 - 源码只用于阅读和定位问题,不要改源码,不要直接修改 `site-packages`;需要修改依赖时先征得用户同意。 ```bash python - <<'PY' import inspect import datasets import huggingface_hub from datasets import Dataset, DatasetDict, Features, Image, Sequence, load_dataset print("datasets:", datasets.__version__, datasets.__file__) print("huggingface_hub:", huggingface_hub.__version__, huggingface_hub.__file__) print("Dataset.push_