Hub documentation
Descarga de conjuntos de datos
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/c4Si 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 host | Propósito |
|---|---|
huggingface.co | Hub API, metadatos y redirecciones de descarga |
cas-server.xethub.hf.co | APIs del protocolo Xet, descarga y carga (EE. UU.) |
cas-server.xethub-eu.hf.co | APIs del protocolo Xet, descarga y carga (UE) |
transfer.xethub.hf.co | APIs de descarga de almacenamiento Xet (EE. UU.) |
transfer.xethub-eu.hf.co | APIs de descarga de almacenamiento Xet (UE) |
us.aws.cdn.hf.co | Borde de CDN (EE. UU.) |
us.gcp.cdn.hf.co | Borde de CDN (EE. UU.) |
cdn-lfs-us-1.hf.co | LFS CDN (EE. UU.) |
cdn-lfs-eu-1.hf.co | LFS CDN (UE) |
Las descargas siguen las redirecciones HTTP desde
huggingface.cohacia estos nombres de host, por lo que permitir solohuggingface.cono es suficiente. UnReadTimeoutError(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.coyhuggingface.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.cocoincide concdn-lfs-us-1.hf.copero no con el más profundous.aws.cdn.hf.coocas-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.cono cubre los hosts de la UE bajoxethub-eu.hf.co, y que*.cdn.hf.cono cubre los de dos etiquetasus.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.coyhuggingface.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.
Update on GitHubEl 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.