头图

Hugging Face Hub 是强大的机器学习的数据源。相信大家在国内用 Hugging Face Datasets 都遇到过下载的问题。譬如:

import datasets dataset = datasets.load_dataset("codeparrot/self-instruct-starcoder", cache_dir="./hf_cache")

⌛ 结果下载到一半:

ConnectionError: Couldn't reach https://huggingface.co/datasets/codeparrot/self-instruct-starcoder/resolve/fdfa8ceb317670e982aa246d8e799c52338a74a7/data/curated-00000-of-00001-c12cc48b3c68688f.parquet (ConnectionError(ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))))

😔 到昨天为止,我的方法还是重新启动下载脚本或者提前把数据放到本地……直到昨天要下载一个大的数据集,实在受不了 🤯。于是去看了一下文档:https://hf.co/docs/datasets/v2.13.1/en/package_reference/buil...

🚪 于是我打开了新世界的大门:

import datasets config = datasets.DownloadConfig(resume_download=True, max_retries=100) dataset = datasets.load_dataset( "codeparrot/self-instruct-starcoder", cache_dir="./hf_cache", download_config=config )

🤱 再也不用担心下载不了数据集啦!

🤔 PS: 目前还有不少上传下载的问题没有解决:

  • 初始化数据集下载是容易 ConnectionError,这个可能需要调节 timeout 或者使用特殊上网方式
  • push_to_hub 没有断点续存和 retry 的机制

如果大家有什么更好的解决方案,欢迎交流 :)


HuggingFace
120 声望44 粉丝

The AI community building the future.