Hub documentation
Загрузка наборов данных
Загрузка наборов данных
Интегрированные библиотеки
Если набор данных на Hub привязан к поддерживаемой библиотеке, его загрузка выполняется всего в несколько строк. Чтобы узнать, как получить доступ к набору данных, нажмите кнопку «Use this dataset» на странице набора данных. Например, 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 представляют собой Git-репозитории с поддержкой Xet, вы можете клонировать их локально, установив 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-ключ в настройки пользователя, чтобы отправлять изменения и/или получать доступ к закрытым репозиториям.
Более быстрая загрузка
Вы можете проверить скорость загрузки с CDN Hugging Face на fast.hf.co. Это запускает быстрое тестирование пропускной способности по отношению к ближайшему edge-серверу HF, что помогает понять базовую пропускную способность вашего соединения. Также вы можете измерить скорость загрузки из терминала с помощью расширения CLI hf-speedtest:
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, и load_dataset / hf download завершатся с ошибкой, если эти хосты недоступны, даже если сам huggingface.co добавлен в белый список.
Добавьте следующие имена хостов в список разрешённых (все по HTTPS / порт 443):
| Имя хоста | Назначение |
|---|---|
huggingface.co | Hub API, метаданные и перенаправления загрузок |
cas-server.xethub.hf.co | API протокола Xet, загрузка и выгрузка (США) |
cas-server.xethub-eu.hf.co | API протокола Xet, загрузка и выгрузка (ЕС) |
transfer.xethub.hf.co | API для загрузки данных из хранилища Xet (США) |
transfer.xethub-eu.hf.co | API для загрузки из хранилища Xet (ЕС) |
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 (ЕС) |
Загрузки следуют HTTP-редиректам с
huggingface.coна эти имена хостов, поэтому добавления только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Файл изменяется по мере добавления и удаления конечных точек. Загружайте его при построении правил, а не фиксируйте копию.