Datasets documentation
Solução de problemas
Solução de problemas
Este guia tem como objetivo fornecer as ferramentas e o conhecimento necessários para lidar com alguns problemas comuns. Se as sugestões listadas neste guia não cobrirem a sua situação, consulte a seção Pedindo Ajuda para saber onde encontrar ajuda com o seu problema específico.
Problemas ao fazer upload de conjuntos de dados com push_to_hub
Problemas de autenticação
Se você está enfrentando problemas de autenticação ao compartilhar um conjunto de dados no 🤗 Hub usando Dataset.push_to_hub() e um token de acesso do Hugging Face:
- Certifique-se de que o token do Hugging Face que você está usando para se autenticar é um token com permissão de write.
- No OSX, pode ser útil limpar todas as senhas do huggingface.co no seu keychain access, bem como reconfigurar
git config --global credential.helper osxkeychain, antes de usarhf auth login.
Alternativamente, você pode usar chaves SSH para se autenticar - leia mais na documentação do 🤗 Hub.
Conexão perdida no upload de um grande conjunto de dados
Ao fazer upload de grandes conjuntos de dados para o Hub, se o número de shards do conjunto de dados for grande, isso pode criar muitos commits para o Hub em um curto período. Isso resultará em um erro de conexão. O erro de conexão também pode ser causado por um erro HTTP 500 retornado pelo bucket AWS S3 que o Hub usa internamente. Em qualquer uma das situações, você pode executar novamente Dataset.push_to_hub() para prosseguir com o upload do conjunto de dados. O Hub verificará os SHAs dos shards já enviados para evitar reenviá-los. Estamos trabalhando para tornar o processo de upload mais robusto a erros transitórios, portanto, atualizar para a versão mais recente da biblioteca é sempre uma boa ideia.
Muitas solicitações
Fazer upload de grandes conjuntos de dados por meio de push_to_hub() pode resultar em um erro:
HfHubHTTPError: 429 Client Error: Too Many Requests for url: ...
You have exceeded our hourly quotas for action: commit. We invite you to retry later.Se você encontrar esse problema, é necessário atualizar a biblioteca datasets para a versão mais recente (ou pelo menos 2.15.0).
Problemas ao criar conjuntos de dados a partir de dados personalizados
Carregando imagens e áudio de uma pasta
Ao criar um dataset a partir de uma pasta, um dos problemas mais comuns é que a estrutura de arquivos não segue o formato esperado, ou há um problema no arquivo de metadados.
Saiba mais sobre a estrutura de pastas necessária nas páginas de documentação correspondentes:
Problemas de pickling
Problemas de pickling ao usar Dataset.from_generator
Ao criar um dataset, IterableDataset.from_generator() e Dataset.from_generator() esperam uma função geradora “picklable”.
Isso é necessário para fazer o hash da função usando pickle para poder fazer o cache do dataset no disco.
Embora as funções geradoras sejam geralmente “picklable”, observe que os objetos gerador não são. Portanto, se você estiver usando um objeto gerador,
encontrará um TypeError como este:
TypeError: cannot pickle 'generator' objectEsse erro também pode ocorrer ao usar uma função geradora que utiliza um objeto global que não é “picklable”, como uma conexão com um banco de dados, por exemplo. Se esse for o caso, você pode inicializar esse objeto diretamente dentro da função geradora para evitar esse erro.
Problemas de pickling com Dataset.map
Erros de pickling também podem ocorrer no Dataset.map() multiprocessado - os objetos são serializados para serem passados aos processos filhos.
Se os objetos usados na transformação não forem serializáveis, não é possível fazer o cache do resultado de map, o que leva a um erro.
Aqui estão algumas formas de resolver esse problema:
- Uma solução universal para problemas de pickle é garantir que os objetos (ou classes geradoras) sejam pickláveis manualmente, implementando
__getstate__/__setstate__/__reduce__. - Você também pode fornecer seu próprio hash exclusivo em
mapcom o argumentonew_fingerprint. - Você também pode desativar o cache chamando
datasets.disable_caching(), no entanto, isso é indesejável - saiba mais sobre a importância do cache
Pedindo ajuda
Se as dicas de solução de problemas acima não ajudaram você a resolver seu problema, procure ajuda na comunidade e na equipe.
Fóruns
Peça ajuda nos fóruns do Hugging Face - publique sua pergunta na categoria 🤗Datasets Certifique-se de escrever uma postagem descritiva com o contexto relevante sobre sua configuração e código reproduzível para maximizar a probabilidade de que seu problema seja resolvido!
Discord
Faça uma pergunta no Discord e deixe que a equipe e a comunidade te ajudem.
Discussões da Comunidade no 🤗 Hub
Se você estiver enfrentando problemas ao criar um dataset personalizado no Hub, pode pedir ajuda à equipe do Hugging Face abrindo uma discussão na aba Community do seu dataset com esta mensagem:
# Dataset rewiew request for <Dataset name> ## Description <brief description of the dataset> ## Files to review - file1 - file2 - ... cc @lhoestq @albertvillanova
GitHub Issues
Por fim, se você suspeita de ter encontrado um bug relacionado à própria biblioteca, crie uma Issue no repositório GitHub do 🤗 Datasets. Inclua o contexto sobre o bug: um trecho de código para reproduzi-lo, detalhes sobre seu ambiente e dados, etc., para nos ajudar a identificar o que está errado e como podemos corrigi-lo.
Update on GitHub