Hub documentation
Baixando conjuntos de dados
Baixando conjuntos de dados
Bibliotecas integradas
Se um conjunto de dados no Hub estiver vinculado a uma biblioteca compatível, o carregamento do conjunto de dados pode ser feito em apenas algumas linhas. Para obter informações sobre como acessar o conjunto de dados, você pode clicar no botão “Use this dataset” na página do conjunto de dados para ver como fazer isso. Por exemplo, samsum mostra como fazer isso com datasets abaixo.


Usando a Biblioteca de Clientes do Hugging Face
Você pode usar a biblioteca huggingface_hub para criar, excluir, atualizar e recuperar informações de repositórios. Por exemplo, para baixar o conjunto de dados HuggingFaceH4/ultrachat_200k pela linha de comando, execute
hf download HuggingFaceH4/ultrachat_200k --repo-type dataset
Consulte a documentação de download do HF CLI para mais informações.
Você também pode integrar isso à sua própria biblioteca! Por exemplo, você pode carregar rapidamente um conjunto de dados CSV com poucas linhas usando Pandas.
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")
)Usando Git
Como todos os conjuntos de dados no Hub são repositórios Git com suporte Xet, você pode cloná-los localmente instalando o git-xet e executando:
git xet install
git lfs install
git clone git@hf.co:datasets/<dataset ID> # example: git clone git@hf.co:datasets/allenai/c4Se você tiver acesso de escrita ao repositório específico do dataset, também terá a capacidade de commitar e enviar revisões ao dataset.
Adicione sua chave pública SSH em suas configurações de usuário para enviar alterações e/ou acessar repositórios privados.
Downloads mais rápidos
Você pode testar sua velocidade de download da CDN da Hugging Face em fast.hf.co. Isso executa um teste rápido de largura de banda contra o servidor de borda da HF mais próximo, ajudando você a entender sua taxa de transferência de referência. Você também pode medir a velocidade de download pelo terminal usando a extensão de CLI hf-speedtest:
hf extensions install julien-c/hf-speedtest hf speedtest
Para transferências mais rápidas, o Hub usa o backend de armazenamento Xet com concorrência adaptativa que ajusta automaticamente os fluxos paralelos com base nas condições da rede. Consulte Downloads mais rápidos para modelos para detalhes sobre opções de ajuste como HF_XET_HIGH_PERFORMANCE=1.
Usando hf-mount
Para conjuntos de dados grandes, você pode montar um repositório como um sistema de arquivos local com hf-mount em vez de baixar o repositório completo. Os arquivos são obtidos de forma preguiçosa — apenas os bytes que seu código lê acessam a rede. Útil quando seu fluxo de trabalho espera caminhos de arquivos locais (por exemplo, tarfile, zipfile, imagefolder) em vez de iteradores Python.
brew install hf-mount hf-mount start repo datasets/stanfordnlp/imdb /tmp/imdb
Os repositórios são montados somente para leitura. Consulte Montar como um sistema de arquivos local para detalhes completos de configuração, opções de backend e cache.
Baixando por trás de um proxy ou firewall
Se sua rede restringe o tráfego de saída por meio de um firewall ou proxy, o download de datasets requer mais do que apenas huggingface.co. O conteúdo dos arquivos é servido a partir de hostnames de armazenamento e CDN separados, e load_dataset / hf download falharão se esses não forem acessíveis, mesmo quando o próprio huggingface.co estiver na lista de permissões.
Permita os seguintes nomes de host (todos via HTTPS / porta 443):
| Nome do host | Propósito |
|---|---|
huggingface.co | API do Hub, metadados e redirecionamentos de download |
cas-server.xethub.hf.co | APIs do protocolo Xet, download e upload (EUA) |
cas-server.xethub-eu.hf.co | APIs do protocolo Xet, download e upload (UE) |
transfer.xethub.hf.co | APIs de download do armazenamento Xet (EUA) |
transfer.xethub-eu.hf.co | APIs de download do armazenamento Xet (UE) |
us.aws.cdn.hf.co | Borda da CDN (EUA) |
us.gcp.cdn.hf.co | Borda da CDN (EUA) |
cdn-lfs-us-1.hf.co | LFS CDN (EUA) |
cdn-lfs-eu-1.hf.co | LFS CDN (UE) |
Os downloads seguem redirecionamentos HTTP de
huggingface-proxy-6ci.pages.devpara esses nomes de host, portanto, permitir apenashuggingface-proxy-6ci.pages.devnão é suficiente. UmReadTimeoutError(em vez de um erro de conexão) no meio de um download geralmente significa que a conexão inicial foi bem-sucedida, mas um host de armazenamento ou CDN está bloqueado.
O comportamento de curinga depende de como o seu proxy corresponde domínios. Muitos proxies corporativos tratam uma entrada na lista de permissões como uma correspondência de sufixo que cobre subdomínios em qualquer profundidade. Se o seu for esse o caso, a opção mais simples é permitir os sufixos
hf.coehuggingface-proxy-6ci.pages.dev— eles cobrem todos os endpoints atuais e futuros de armazenamento e CDN.Se o seu proxy só suporta curingas de rótulo único (onde
*.hf.cocorresponde acdn-lfs-us-1.hf.co, mas não ao mais profundous.aws.cdn.hf.cooucas-server.xethub.hf.co), adicione os nomes de host explícitos da tabela acima à lista de permissões. Observe que*.xethub.hf.conão cobre os hosts da UE sobxethub-eu.hf.co, e*.cdn.hf.conão cobre os de dois rótulosus.aws.cdn.hf.co/us.gcp.cdn.hf.co.
Esses nomes de host podem mudar à medida que nossa infraestrutura de armazenamento e CDN evolui. Onde sua política de segurança permitir, adicione os sufixos
hf.coehuggingface-proxy-6ci.pages.dev(todos os subdomínios) à lista de permissões para que suas regras não falhem quando um endpoint específico mudar.
Lista legível por máquina
Os nomes de host acima também são publicados como JSON em https://huggingface.co/.well-known/meta.json,
para que você possa gerar regras de proxy ou firewall a partir dele, em vez de copiar a tabela manualmente.
Update on GitHubO arquivo muda conforme os endpoints são adicionados e removidos. Busque-o ao construir suas regras, em vez de fixar uma cópia.