问题
在aws上训练深度学习实例时,一般数据集非常大,如果已知下载链接,可以直接使用urllib.urlretrieve
方法将文件下载到当前目录。
...
urllib.urlretrieve(
'https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz',
tar_gz_path,
pbar.hook) # 参考其他文章,用 tqdm 来显示下载进度条
...
但是Kaggle上的数据集必须登陆之后才能下载,直接复制链接会下载失败。
解决办法
2种办法:安装kaggle-cli,或者利用cookie下载。
可以参考Downloading data via command line
kaggle-cli下载
kaggle-cli https://github.com/floydwch/kaggle-cli
安装kaggle-cli
$ pip install kaggle-cli
下载文件
$ kg download -u <username> -p <password> -c <competition> -f <filename>
其中,<competition>
是下载路径中的竞赛名,比如要下载State Farm Distracted Driver Detection中的driver_imgs_list.csv.zip
文件:https://www.kaggle.com/c/state-farm-distracted-driver-detection/data
$ kg download -u 用户名 -p 密码 -c state-farm-distracted-driver-detection -f driver_imgs_list.csv.zip
注意:
用户名和密码必须要是能直接登陆kaggle网站的,不能是采用关联账户(如google)的方式登陆。
当前网络需要能上google,否则会提示连接超时。
wget命令下载
此方法需要先导出cookies.txt
,然后再使用wget
命令,此方法网上教程较多,不细说呢。
参考:http://ankitshah009.blogspot.co.id/2017/01/kaggle-download-data.html