Hub documentation
下载数据集
下载数据集
集成库
如果 Hub 上的数据集关联了某个受支持的库,只需几行代码即可加载该数据集。有关访问数据集的信息,您可以点击数据集页面上的“使用此数据集”按钮来查看具体方法。例如,samsum 展示了如何使用 datasets 来加载数据集,如下所示。


使用 Hugging Face 客户端库
您可以使用 huggingface_hub 库来创建、删除、更新和获取仓库信息。例如,要从命令行下载 HuggingFaceH4/ultrachat_200k 数据集,请运行
hf download HuggingFaceH4/ultrachat_200k --repo-type dataset
有关更多信息,请参阅 HF CLI 下载文档。
你也可以将其集成到你自己的库中!例如,你可以使用 Pandas 通过几行代码快速加载 CSV 数据集。
from huggingface_hub import hf_hub_download
import pandas as pd
REPO_ID = "YOUR_REPO_ID"
FILENAME = "data.csv"
dataset = pd.read_csv(
hf_hub_download(repo_id=REPO_ID, filename=FILENAME, repo_type="dataset")
)使用 Git
由于 Hub 上的所有数据集都是基于 Xet 的 Git 仓库,您可以通过安装 git-xet并运行以下命令来在本地克隆数据集:
git xet install
git lfs install
git clone git@hf.co:datasets/<dataset ID> # example: git clone git@hf.co:datasets/allenai/c4如果您对特定的数据集仓库具有写入权限,您还可以提交并推送该数据集的修订版本。
将您的 SSH 公钥添加到用户设置中,以推送更改和/或访问私有仓库。
更快的下载速度
您可以在 fast.hf.co 上测试从 Hugging Face CDN 的下载速度。该工具会对最近的 HF 边缘服务器执行快速带宽测试,帮助您了解基线吞吐量。您也可以在终端中使用 hf-speedtest CLI 扩展来测量下载速度:
hf extensions install julien-c/hf-speedtest hf speedtest
为了获得更快的传输速度,Hub 使用了具有自适应并发功能的 Xet 存储后端,它会根据网络状况自动调整并行流。有关 HF_XET_HIGH_PERFORMANCE=1 等调优选项的详细信息,请参阅 更快的模型下载。
使用 hf-mount
对于大型数据集,你可以使用 hf-mount 将仓库挂载为本地文件系统,而无需下载整个仓库。文件是按需获取的——只有代码实际读取的字节才会通过网络传输。当你的工作流期望使用本地文件路径(例如 tarfile、zipfile、imagefolder)而非 Python 迭代器时,这非常有用。
brew install hf-mount hf-mount start repo datasets/stanfordnlp/imdb /tmp/imdb
仓库以只读方式挂载。有关完整的设置详情、后端选项和缓存,请参阅 挂载为本地文件系统。
在代理或防火墙后下载
如果您的网络通过防火墙或代理限制了出站流量,下载数据集所需的不仅仅是 huggingface.co。文件内容来自独立的存储和 CDN 主机名,如果这些主机名无法访问,即使 huggingface.co 本身已在白名单中,load_dataset / hf download 也会失败。
允许以下主机名(全部通过 HTTPS / 端口 443):
| 主机名 | 目的 |
|---|---|
huggingface.co | Hub API、元数据和下载重定向 |
cas-server.xethub.hf.co | Xet 协议 API,下载和上传(美国) |
cas-server.xethub-eu.hf.co | Xet 协议 API,下载和上传(欧盟) |
transfer.xethub.hf.co | Xet 存储下载 API(美国) |
transfer.xethub-eu.hf.co | Xet 存储下载 API(欧盟) |
us.aws.cdn.hf.co | CDN 边缘(美国) |
us.gcp.cdn.hf.co | CDN 边缘(美国) |
cdn-lfs-us-1.hf.co | LFS CDN(美国) |
cdn-lfs-eu-1.hf.co | LFS CDN(欧盟) |
下载会从
huggingface.co通过 HTTP 重定向到这些主机名,因此仅将huggingface.co加入白名单是不够的。下载过程中出现ReadTimeoutError(而非连接错误)通常意味着初始连接成功,但存储或 CDN 主机被阻止。
通配符的行为取决于您的代理如何匹配域名。许多企业代理将允许列表条目视为后缀匹配,可覆盖任意层级的子域名。如果您的代理也是如此,最简单的选项是将后缀
hf.co和huggingface.co加入允许列表——这将涵盖所有当前及未来的存储和 CDN 端点。如果您的代理仅支持单标签通配符(即
*.hf.co可以匹配cdn-lfs-us-1.hf.co,但无法匹配更深层的us.aws.cdn.hf.co或cas-server.xethub.hf.co), 请将上表中列出的显式主机名加入白名单。请注意,*.xethub.hf.co并不涵盖位于xethub-eu.hf.co下的欧盟主机,且*.cdn.hf.co也不涵盖 双标签的us.aws.cdn.hf.co/us.gcp.cdn.hf.co。
随着我们的存储和 CDN 基础设施不断演进,这些主机名可能会发生变化。如果您的安全策略允许,请将
hf.co和huggingface.co后缀(所有子域名)加入白名单,这样当特定端点变更时,您的规则就不会失效。
机器可读列表
上述主机名也以 JSON 格式发布在 https://huggingface.co/.well-known/meta.json,因此您可以基于它生成代理或防火墙规则,而无需手动复制表格。
Update on GitHub随着端点的添加和移除,该文件会发生变化。在构建规则时,请获取该文件,而不是固定使用某个副本。