使用wget从Google Drive下载数据集

许多用于训练的数据集很大,一般通过Google Drive进行分享,而出于磁盘容量和方便训练的考虑,这些数据我们一般放在服务器上,服务器没有图形界面,因此我们需要使用wget来进行下载。

Google Drive的链接格式是这个样子的:

https://drive.google.com/file/d/<fileid>/view

我们要关注的是<field>,这相当于文件的编号。以cascade-stereo分享的DTU数据集为例,Google Drive的链接如下

https://drive.google.com/file/d/1eDjh-_bxKKnEuz5h-HXS7EDJn59clx6V/view

我们将这个编号命名为${field},将我们希望它保存成的文件名命名为${name},那么通过wget下载的命令如下:

sudo wget --load-cookies /tmp/cookies.txt "https://drive.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=${field}' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=${field}" -O ${filename} && rm -rf /tmp/cookies. txt

我们只需要将变量替换即可,注意有两个地方有${field},有一个地方有${filename}。

下载完成之后,只需要使用unrar解压rar文件到当前文件夹下即可

unrar x test.rar 

### 加快数据集下载速度的方法 为了提高数据集下载速度,可以采用多种方法来优化网络传输效率以及利用云端资源完成加速。以下是几种常见的解决方案: #### 使用 Colab 进行间接下载 通过 Google Colab 的方式将数据集先上传至云端再本地获取是一种高效的方式。这种方法充分利用了 Colab 提供的强大带宽优势[^1]。具体操作如下: ```bash !pip install gdown !gdown --id 数据集ID -O /content/dataset.zip ``` 上述代码片段展示了如何借助 `gdown` 工具从 Google Drive 中提取文件并保存到 Colab 环境中。 #### 同时多线程下载多个子集 对于像 VoxCeleb 那样包含多个独立部分的数据集合来说,启用并发机制能显著缩短总耗时。例如,在处理 VOX1 和 VOX2 数据集的时候,可以通过编写脚本来实现异步加载各个分片[^2]: ```python import subprocess urls = ["url_to_voxceleb_part1", "url_to_voxceleb_part2"] for url in urls: command = f"wget {url} &" process = subprocess.Popen(command, shell=True) ``` #### 利用 Hugging Face Datasets 库简化流程 如果目标数据源存在于 Hugging Face 社区,则可以直接调用其官方 API 来管理整个过程。这种方式不仅便捷而且稳定可靠[^3]: ```python from datasets import load_dataset dataset = load_dataset('wikitext', 'wikitext-103-v1') print(dataset['train'][0]) ``` 以上三种策略分别适用于不同场景下的需求分析与实践指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YuhsiHu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值