Как загрузить набор данных в потоковом режиме в Google Colab?

Я пытаюсь сэкономить место на диске, чтобы использовать набор данных CommonVoice French (19G) в Google Colab, поскольку в моем ноутбуке всегда не хватает места на диске. Я видел из документации HuggingFace, что мы можем загружать набор данных в потоковом режиме, чтобы мы могли iterate over it directly without having to download the entire dataset.. Я пытался использовать этот режим в Google Colab, но не могу заставить его работать - и я не нашел ничего в SO по этой проблеме.

      !pip install datasets
!pip install 'datasets[streaming]'
!pip install aiohttp

common_voice_train = load_dataset("common_voice", "fr", split="train", streaming=True)

Затем я получаю следующую ошибку:

      ---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-24-489f8a0ca4e4> in <module>()
----> 1 common_voice_train = load_dataset("common_voice", "fr", split="train", streaming=True)

/usr/local/lib/python3.7/dist-packages/datasets/load.py in load_dataset(path, name, data_dir, data_files, split, cache_dir, features, download_config, download_mode, ignore_verifications, keep_in_memory, save_infos, script_version, use_auth_token, task, streaming, **config_kwargs)
    811         if not config.AIOHTTP_AVAILABLE:
    812             raise ImportError(
--> 813                 f"To be able to use dataset streaming, you need to install dependencies like aiohttp "
    814                 f'using "pip install \'datasets[streaming]\'" or "pip install aiohttp" for instance'
    815             )

ImportError: To be able to use dataset streaming, you need to install dependencies like aiohttp using "pip install 'datasets[streaming]'" or "pip install aiohttp" for instance

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

Есть ли причина, по которой Google Colab не разрешает потоковую передачу для загрузки набора данных?

В противном случае, что мне не хватает?

1 ответ

Решение

Написание ответа, чтобы упростить использование будущих ссылок. Судя по комментарию @kkgarg, кажется, что функция потоковой передачи еще не реализована.

      !pip install aiohttp
!pip install datasets
from datasets import load_dataset, load_metric

common_voice_train = load_dataset("common_voice", "fr", split="train", streaming=True)

Вызывает следующую ошибку:

      /usr/local/lib/python3.7/dist-packages/datasets/utils/streaming_download_manager.py in _get_extraction_protocol(self, urlpath)
    137         elif path.endswith(".zip"):
    138             return "zip"
--> 139         raise NotImplementedError(f"Extraction protocol for file at {urlpath} is not implemented yet")
    140 
    141     def download_and_extract(self, url_or_urls):

NotImplementedError: Extraction protocol for file at https://voice-prod-bundler-ee1969a6ce8178826482b88e843c335139bd3fb4.s3.amazonaws.com/cv-corpus-6.1-2020-12-11/tr.tar.gz is not implemented yet

Это означает, что функция потоковой передачи еще не реализована и не поддерживается. Может быть, потому что использование common_voice означает, что файлы необходимо распаковать, а потоковая передача этого не поддерживает (?). Поскольку функциональность определенно реализована, так как это в документации ...

Другие вопросы по тегам