Hub documentation

数据集下载统计

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

数据集下载统计

数据集的下载次数是如何计算的?

统计数据集的下载次数并非易事,因为单个数据集仓库可能包含来自多个子集和分割(例如 train/validation/test)的多个文件,有时单个分割中还会包含大量文件。为了解决这一问题并避免将同一用户的多次下载重复计数,我们将用户在给定仓库中 5 分钟窗口内(基于其 IP 地址)下载的所有文件视为一次数据集下载。此计数过程会在文件下载时(通过 GET 或 HEAD 请求)由我们的服务器自动完成,无需收集任何用户信息或发起额外调用。

2024 年 9 月之前

Hub 过去仅通过 datasets 库可加载的数据集提供下载统计。为了确定下载数量,Hub 之前会统计在 Python 中每次调用 load_dataset 的次数,但会排除 Hugging Face 在 GitHub 上的 CI 工具。用户端不会发送任何信息,也不会为此发起额外的调用。由于我们在提供文件下载时进行计数,因此该计数是在服务器端完成的。这意味着:

  • 无论数据是直接存储在 Hub 仓库中,还是仓库包含一个用于从外部源加载数据的脚本,下载量都相同。
  • 如果用户通过 wget 等工具或 Hub 的用户界面(UI)手动下载了数据,这些下载不会被计入下载次数。

如果我需要更细粒度的数据集下载数据怎么办?

如果您需要更细粒度的下载数据,例如用于:

  • 区分数据文件和元数据,
  • 将下载排除在 CI/CD 流水线之外,
  • 或去重用户(即统计唯一下载者数量),

然后,Publisher Analytics,尤其是其中的granular logs功能,可以为您的组织发布的所有模型和数据集提供匿名化的请求级访问日志。

这些以原始日志的形式提供,因为大多数组织希望应用自己的自定义规则。

Update on GitHub