Как загрузить набор данных в потоковом режиме в 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 означает, что файлы необходимо распаковать, а потоковая передача этого не поддерживает (?). Поскольку функциональность определенно реализована, так как это в документации ...