Hub documentation

Descarga de conjuntos de datos

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Descarga de conjuntos de datos

Bibliotecas integradas

Si un conjunto de datos en el Hub está vinculado a una biblioteca compatible, la carga del conjunto de datos se puede realizar en solo unas pocas líneas. Para obtener información sobre cómo acceder al conjunto de datos, puedes hacer clic en el botón “Usar este conjunto de datos” en la página del conjunto de datos para ver cómo hacerlo. Por ejemplo, samsum muestra cómo hacerlo con datasets a continuación.

Uso de la biblioteca de cliente de Hugging Face

Puede usar la biblioteca huggingface_hub para crear, eliminar, actualizar y obtener información de repositorios. Por ejemplo, para descargar el conjunto de datos HuggingFaceH4/ultrachat_200k desde la línea de comandos, ejecute

hf download HuggingFaceH4/ultrachat_200k --repo-type dataset

Consulte la documentación de descarga de HF CLI para obtener más información.

También puedes integrarlo en tu propia biblioteca. Por ejemplo, puedes cargar rápidamente un conjunto de datos CSV con unas pocas líneas 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")
)

Uso de Git

Dado que todos los conjuntos de datos en el Hub son repositorios Git respaldados por Xet, puedes clonar los conjuntos de datos localmente instalando git-xet y ejecutando:

git xet install
git lfs install
git clone git@hf.co:datasets/<dataset ID> # example: git clone git@hf.co:datasets/allenai/c4

Si tienes acceso de escritura al repositorio de datos específico, también podrás confirmar y enviar revisiones al conjunto de datos.

Agrega tu clave pública SSH a tu configuración de usuario para enviar cambios y/o acceder a repositorios privados.

Descargas más rápidas

Puedes probar tu velocidad de descarga desde el CDN de Hugging Face en fast.hf.co. Esto ejecuta una prueba rápida de ancho de banda contra el servidor de borde de HF más cercano, lo que te ayuda a entender tu throughput de referencia. También puedes medir la velocidad de descarga desde la terminal usando la extensión de CLI hf-speedtest:

hf extensions install julien-c/hf-speedtest
hf speedtest

Para transferencias más rápidas, el Hub utiliza el backend de almacenamiento Xet con concurrencia adaptativa que ajusta automáticamente los flujos paralelos en función de las condiciones de la red. Consulte Descargas más rápidas para modelos para obtener detalles sobre opciones de ajuste como HF_XET_HIGH_PERFORMANCE=1.

Usando hf-mount

Para conjuntos de datos grandes, puedes montar un repositorio como un sistema de archivos local con hf-mount en lugar de descargar el repositorio completo. Los archivos se obtienen de forma perezosa: solo los bytes que tu código lee pasan por la red. Útil cuando tu flujo de trabajo espera rutas de archivos locales (p. ej. tarfile, zipfile, imagefolder) en lugar de iteradores de Python.

brew install hf-mount
hf-mount start repo datasets/stanfordnlp/imdb /tmp/imdb

Los repos se montan solo de lectura. Consulte Montaje como un sistema de archivos local para obtener detalles completos de la configuración, opciones de backend y caché.

Descarga a través de un proxy o cortafuegos

Si su red restringe el tráfico saliente mediante un firewall o un proxy, la descarga de conjuntos de datos requiere más que huggingface.co. El contenido de los archivos se sirve desde nombres de host de almacenamiento y CDN separados, y load_dataset / hf download fallarán si estos no son accesibles, incluso cuando huggingface.co esté en la lista de permitidos.

Permita los siguientes nombres de host (todos a través de HTTPS / puerto 443):

Nombre de hostPropósito
huggingface.coHub API, metadatos y redirecciones de descarga
cas-server.xethub.hf.coAPIs del protocolo Xet, descarga y carga (EE. UU.)
cas-server.xethub-eu.hf.coAPIs del protocolo Xet, descarga y carga (UE)
transfer.xethub.hf.coAPIs de descarga de almacenamiento Xet (EE. UU.)
transfer.xethub-eu.hf.coAPIs de descarga de almacenamiento Xet (UE)
us.aws.cdn.hf.coBorde de CDN (EE. UU.)
us.gcp.cdn.hf.coBorde de CDN (EE. UU.)
cdn-lfs-us-1.hf.coLFS CDN (EE. UU.)
cdn-lfs-eu-1.hf.coLFS CDN (UE)

Las descargas siguen las redirecciones HTTP desde huggingface.co hacia estos nombres de host, por lo que permitir solo huggingface.co no es suficiente. Un ReadTimeoutError (en lugar de un error de conexión) a mitad de una descarga suele indicar que la conexión inicial tuvo éxito, pero que un host de almacenamiento o CDN está bloqueado.

El comportamiento de los comodines depende de cómo su proxy coincide con los dominios. Muchos proxies empresariales tratan una entrada de la lista de permitidos como una coincidencia de sufijo que cubre subdominios a cualquier profundidad. Si el suyo lo hace, la opción más sencilla es permitir los sufijos hf.co y huggingface.co: estos cubren todos los puntos finales de almacenamiento y CDN actuales y futuros.

Si su proxy solo admite comodines de una sola etiqueta (donde *.hf.co coincide con cdn-lfs-us-1.hf.co pero no con el más profundo us.aws.cdn.hf.co o cas-server.xethub.hf.co), añada a la lista de permitidos los nombres de host explícitos de la tabla anterior. Tenga en cuenta que *.xethub.hf.co no cubre los hosts de la UE bajo xethub-eu.hf.co, y que *.cdn.hf.co no cubre los de dos etiquetas us.aws.cdn.hf.co / us.gcp.cdn.hf.co.

Es posible que estos nombres de host cambien a medida que evoluciona nuestra infraestructura de almacenamiento y CDN. Si su política de seguridad lo permite, agregue los sufijos hf.co y huggingface.co (todos los subdominios) a la lista de permitidos para que sus reglas no fallen cuando cambie un punto de acceso específico.

Lista legible por máquina

Los nombres de host anteriores también se publican como JSON en https://huggingface.co/.well-known/meta.json, por lo que puede generar reglas de proxy o firewall a partir de él en lugar de copiar la tabla a mano.

El archivo cambia a medida que se añaden y se eliminan puntos finales. Obténlo cuando construyas tus reglas en lugar de fijar una copia.

Update on GitHub