# Статистика загрузок датасетов

## Как учитываются загрузки для наборов данных?

Подсчёт количества загрузок датасетов — задача не из простых, поскольку один репозиторий датасета может содержать множество файлов из разных подмножеств и разбиений (например, train/validation/test), а в одном разбиении может быть много файлов. Чтобы решить эту проблему и избежать многократного учёта загрузок одного и того же пользователя, мы считаем все файлы, загруженные пользователем (на основе его IP-адреса) в течение 5-минутного окна в данном репозитории, как одну загрузку датасета. Этот подсчёт происходит автоматически на наших серверах при загрузке файлов (через запросы GET или HEAD), без необходимости собирать какую-либо информацию о пользователях или выполнять дополнительные вызовы.

## До сентября 2024

Ранее Hub предоставлял статистику загрузок только для датасетов, доступных через библиотеку `datasets`. Для определения количества загрузок Hub учитывал каждый вызов `load_dataset` в Python, исключая CI-инструменты Hugging Face на GitHub. От пользователя не отправлялась никакая информация, и для этого не делались дополнительные вызовы. Подсчет выполнялся на стороне сервера при обслуживании файлов для загрузки. Это означало, что:

* Количество загрузок было одинаковым независимо от того, хранятся ли данные непосредственно в репозитории Hub или в репозитории есть [скрипт](/docs/datasets/dataset_script) для загрузки данных из внешнего источника.
* Если пользователь вручную загрузил данные с помощью таких инструментов, как `wget`, или через пользовательский интерфейс (UI) Hub, эти загрузки не учитывались в общем количестве загрузок.

## Что делать, если мне нужны более детальные данные о загрузке для моих наборов данных?

Если вам нужны более детальные данные о загрузке, например, чтобы:
- различать файлы данных и метаданные,
- исключить загрузки из конвейеров CI/CD,
- или дедуплицировать пользователей (т.е. подсчитать уникальных скачивающих),

затем [Publisher Analytics](./publisher-analytics), а в особенности функция [granular logs](./publisher-analytics#unique-downloaders-and-more-granular-logs), может предоставлять анонимизированные журналы доступа на уровне запросов для всех моделей и наборов данных, опубликованных вашей организацией.

Они предоставляются в виде сырых журналов, поскольку большинство организаций захочет применить собственные пользовательские правила.

