Datasets documentation
Solución de problemas
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 osxkeychainantes de usarhf 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' objectEste 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
mapcon el argumentonew_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