Datasets documentation
Устранение неполадок
Устранение неполадок
Это руководство призвано предоставить вам инструменты и знания, необходимые для решения ряда типичных проблем. Если перечисленные здесь рекомендации не покрывают вашу ситуацию, обратитесь к разделу Как попросить о помощи, чтобы узнать, где можно найти поддержку по вашей конкретной проблеме.
Проблемы при загрузке наборов данных с помощью push_to_hub
Проблемы с аутентификацией
Если при публикации набора данных на 🤗 Hub с помощью Dataset.push_to_hub() и токена доступа Hugging Face возникают проблемы с аутентификацией:
- Убедитесь, что токен Hugging Face, который вы используете для аутентификации, имеет разрешение write.
- В ОС X может помочь очистка всех паролей huggingface.co в доступе к ключам, а также повторная настройка
git config --global credential.helper osxkeychainперед использованиемhf auth login.
В качестве альтернативы вы можете использовать SSH-ключи для аутентификации — подробнее в документации 🤗 Hub.
Потеря соединения при загрузке крупного набора данных
При загрузке больших наборов данных в Hub, если количество фрагментов набора велико, это может привести к созданию слишком большого количества коммитов в Hub за короткий промежуток времени. В результате возникнет ошибка соединения. Ошибка соединения также может быть вызвана ошибкой HTTP 500, возвращаемой внутренним бакетом AWS S3, который использует Hub. В любом из этих случаев вы можете повторно запустить Dataset.push_to_hub(), чтобы продолжить загрузку набора данных. Hub проверит SHA уже загруженных фрагментов, чтобы избежать их повторной загрузки. Мы работаем над тем, чтобы сделать процесс загрузки более устойчивым к временным ошибкам, поэтому всегда рекомендуется обновляться до последней версии библиотеки.
Слишком много запросов
Загрузка больших наборов данных с помощью push_to_hub() может привести к ошибке:
HfHubHTTPError: 429 Client Error: Too Many Requests for url: ...
You have exceeded our hourly quotas for action: commit. We invite you to retry later.Если вы столкнулись с этой проблемой, необходимо обновить библиотеку datasets до последней версии (или как минимум до 2.15.0).
Проблемы при создании наборов данных из собственных данных
Загрузка изображений и аудио из папки
При создании набора данных из одной из самых частых проблем является то, что структура файлов не соответствует ожидаемому формату, либо возникает проблема с файлом метаданных.
Подробнее о требуемой структуре каталогов см. в соответствующих страницах документации:
Проблемы с pickle
Проблемы с pickle при использовании Dataset.from_generator
When creating a dataset, IterableDataset.from_generator() and Dataset.from_generator() expect a “picklable” generator function.
This is required to hash the function using pickle to be able to cache the dataset on disk.
Хотя функции-генераторы, как правило, «picklable», объекты генераторов таковыми не являются. Поэтому, если вы используете объект генератора,
вы столкнётесь с TypeError такого вида:
TypeError: cannot pickle 'generator' objectЭта ошибка также может возникать при использовании функции-генератора, которая обращается к глобальному объекту, не поддерживающему сериализацию (pickling), например, к соединению с БД. В таком случае инициализируйте такой объект непосредственно внутри функции-генератора, чтобы избежать этой ошибки.
Проблемы с сериализацией в Dataset.map
Ошибки сериализации (pickling) также могут возникать в многопроцессном Dataset.map() — объекты сериализуются для передачи дочерним процессам.
Если объекты, используемые в преобразовании, не поддерживают сериализацию, результат map невозможно закэшировать, что приводит к возникновению ошибки.
Вот несколько способов решить эту проблему:
- Универсальное решение проблем с pickle — убедиться, что объекты (или классы генераторов) можно сериализовать вручную, реализовав
__getstate__/__setstate__/__reduce__. - Вы также можете указать собственный уникальный хеш в
mapс помощью аргументаnew_fingerprint. - Вы также можете отключить кэширование, вызвав
datasets.disable_caching(), однако это нежелательно - узнайте больше о важности кэша
Обращение за помощью
Если вышеприведённые рекомендации по устранению неполадок не помогли вам решить проблему, обратитесь за помощью к сообществу и команде.
Форумы
Обратитесь за помощью на форумах Hugging Face — опубликуйте свой вопрос в категории 🤗Datasets. Убедитесь, что ваш пост содержит подробное описание проблемы, релевантный контекст о вашей конфигурации и воспроизводимый код, чтобы максимально повысить шансы на решение вашей задачи!
Discord
Задайте вопрос в Discord, и команда и сообщество помогут вам.
Обсуждения сообщества на 🤗 Hub
Если у вас возникают проблемы с созданием пользовательского набора данных на Hub, вы можете обратиться за помощью к команде Hugging Face, открыв обсуждение на вкладке Community вашего набора данных с таким сообщением:
# Dataset rewiew request for <Dataset name> ## Description <brief description of the dataset> ## Files to review - file1 - file2 - ... cc @lhoestq @albertvillanova
GitHub Issues
Наконец, если вы подозреваете, что нашли ошибку, связанную с самой библиотекой, создайте Issue в репозитории GitHub 🤗 Datasets. Укажите контекст проблемы: фрагмент кода для воспроизведения, сведения об окружении и данных и т. д., чтобы помочь нам разобраться, что пошло не так, и найти способ исправить это.
Update on GitHub