【深度学习下载大型数据集】快速下载谷歌云盘数据集

个人博客:Sekyoro的博客小屋
个人网站:Proanimer的个人网站
跑深度学习的时候,一些数据集比较大,比如60多个G,而且只是训练集.

然后这些数据是由某些实验室组采集的,并不像一些大公司搞的,一般都直接方法一些网盘中.

如果是谷歌网盘,本身通过代理也不麻烦,但是发现即使通过代理,下载的速度也非常慢,如果频繁下载还会被限制.

image-20240102171759571

这里给一个方法,通过租赁廉价服务器下载谷歌云盘的数据集,然后自己再通过公网下载.速度要快一些.

我通过IDM下载谷歌云盘上的大型数据集时速度低的时候可能才五六百KB,

使用这种方法20多G的数据40s左右下载到服务器上

【深度学习下载大型数据集】快速下载谷歌云盘数据集_第1张图片

然后搭个nginx,再下回国内.速度6M左右.不会像谷歌云盘那样限速

【深度学习下载大型数据集】快速下载谷歌云盘数据集_第2张图片

基本方法

下载到服务器

方法基本想法就是海外服务器下载谷歌云盘上的数据更快(哪怕你用了代理),利用vultr等服务器商租一个服务器,利用google api下载数据.

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://www.googleapis.com/drive/v3/files/YOUR_FILE?alt=media -o OUTPUT_FILE

token从OAUTH取,授权Drive API v3下的 https://www.googleapis.com/auth/drive.readonly 这样就拿到了token.

【深度学习下载大型数据集】快速下载谷歌云盘数据集_第3张图片

接下来拿云盘上文件的id,

【深度学习下载大型数据集】快速下载谷歌云盘数据集_第4张图片

复制的链接的中间有一串独特的id,这就是文件id.

这里要注意的是,如果文件是从别人那直接下载的,还是可能会遇到超额问题,建议保存到自己的网盘下然后拿文件链接

下载到本地

在服务器上搭建一个nginx

sudo ufw app list
sudo ufw allow 'Nginx Full'

把需要下载的文件放在nginx Web根目录(/var/www/html)中,然后根据ip后加上文件名就能直接下载了,一般来说这里的下载速度就要慢一些了,我这里5、6M左右,可以优化这部分速度

参考方法

  1. 如何下载Google Drive中的超大型文件 - Max1z - 博客园 (cnblogs.com)

如有疑问,欢迎各位交流!

服务器配置
宝塔:宝塔服务器面板,一键全能部署及管理
云服务器:阿里云服务器
Vultr服务器
GPU服务器:Vast.ai

你可能感兴趣的:(python,人工智能)