Datasets documentation

Solución de problemas

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Solución de problemas

Esta guía tiene como objetivo proporcionarte las herramientas y el conocimiento necesarios para abordar algunos problemas comunes. Si las sugerencias enumeradas en esta guía no cubren tu situación, consulta la sección Solicitar ayuda para saber dónde encontrar asistencia con tu problema específico.

Problemas al subir conjuntos de datos con push_to_hub

Problemas de autenticación

Si experimenta problemas de autenticación al compartir un conjunto de datos en 🤗 Hub usando Dataset.push_to_hub() y un token de acceso de Hugging Face:

  • Asegúrate de que el token de Hugging Face que estás usando para autenticarte sea un token con permiso de write.
  • En OSX, puede ser útil limpiar todas las contraseñas de huggingface.co en el acceso al llavero y volver a configurar git config --global credential.helper osxkeychain antes de usar hf auth login.

Alternativamente, puedes usar claves SSH para autenticarte; lee más en la documentación de 🤗 Hub.

Se perdió la conexión durante la carga de un conjunto de datos grande

Al subir conjuntos de datos grandes a Hub, si el número de fragmentos del conjunto de datos es elevado, puede generar demasiados commits para Hub en un período corto. Esto provocará un error de conexión. El error de conexión también puede ser causado por un error HTTP 500 devuelto por el bucket de AWS S3 que Hub utiliza internamente. En cualquiera de estas situaciones, puedes volver a ejecutar Dataset.push_to_hub() para continuar con la carga del conjunto de datos. Hub comprobará los SHAs de los fragmentos ya subidos para evitar volver a subirlos. Estamos trabajando para hacer que el proceso de carga sea más robusto ante errores transitorios, por lo que actualizar a la última versión de la biblioteca siempre es una buena idea.

Demasiadas solicitudes

Subir conjuntos de datos grandes mediante push_to_hub() puede provocar un error:

HfHubHTTPError: 429 Client Error: Too Many Requests for url: ...
You have exceeded our hourly quotas for action: commit. We invite you to retry later.

Si te encuentras con este problema, necesitas actualizar la biblioteca datasets a la última versión (o al menos a la 2.15.0).

Problemas al crear conjuntos de datos a partir de datos personalizados

Carga de imágenes y audio desde una carpeta

Al crear un conjunto de datos a partir de una carpeta, uno de los problemas más comunes es que la estructura de archivos no sigue el formato esperado o que hay un problema con el archivo de metadatos.

Obtenga más información sobre la estructura de carpetas requerida en las páginas de documentación correspondientes:

Problemas con Pickling

Problemas de serialización al usar Dataset.from_generator

Al crear un conjunto de datos, IterableDataset.from_generator() y Dataset.from_generator() esperan una función generadora “picklable”. Esto es necesario para hacer un hash de la función usando pickle para poder cachear el conjunto de datos en disco.

Aunque las funciones generadoras son generalmente “picklable”, los objetos generador no lo son. Por lo tanto, si estás usando un objeto generador, te encontrarás con un TypeError como este:

TypeError: cannot pickle 'generator' object

Este error también puede ocurrir al usar una función generadora que utiliza un objeto global que no es “picklable”, como una conexión a una base de datos, por ejemplo. Si ese es el caso, puedes inicializar dicho objeto directamente dentro de la función generadora para evitar este error.

Problemas de serialización con Dataset.map

Los errores de pickling también pueden ocurrir en Dataset.map() multiproceso: los objetos se serializan para pasarlos a los procesos hijos. Si los objetos utilizados en la transformación no son serializables, no es posible cachear el resultado de map, lo que provoca que se lance un error.

Aquí hay algunas formas de abordar este problema:

  • Una solución universal a los problemas de pickle es asegurarse de que los objetos (o clases generadoras) sean serializables manualmente implementando __getstate__ / __setstate__ / __reduce__.
  • También puedes proporcionar tu propio hash único en map con el argumento new_fingerprint.
  • También puede deshabilitar la caché llamando a datasets.disable_caching(), aunque esto no es deseable: lea más sobre la importancia de la caché

Pedir ayuda

Si los consejos de solución de problemas anteriores no te ayudaron a resolver tu problema, busca ayuda en la comunidad y en el equipo.

Foros

Pide ayuda en los foros de Hugging Face: publica tu pregunta en la categoría 🤗Datasets. Asegúrate de escribir una publicación descriptiva con el contexto relevante sobre tu configuración y código reproducible para maximizar la probabilidad de que tu problema se resuelva.

Discord

Publica una pregunta en Discord y deja que el equipo y la comunidad te ayuden.

Discusiones de la comunidad en 🤗 Hub

Si tienes problemas para crear un conjunto de datos personalizado en Hub, puedes pedir ayuda al equipo de Hugging Face abriendo una discusión en la pestaña Community de tu conjunto de datos con este mensaje:

# Dataset rewiew request for <Dataset name>

## Description

<brief description of the dataset>

## Files to review

- file1
- file2
- ...

cc @lhoestq @albertvillanova

GitHub Issues

Por último, si sospechas que has encontrado un error relacionado con la propia biblioteca, crea un Issue en el repositorio de GitHub de 🤗 Datasets. Incluye contexto sobre el error: un fragmento de código para reproducirlo, detalles sobre tu entorno y los datos, etc., para ayudarnos a identificar qué está fallando y cómo podemos solucionarlo.

Update on GitHub