小样本学习的一篇经典文章中使用了Plantae数据集,这个数据集的一些标注文件被放在kaggle上,但是真正的图像数据源需要到AWS上下载,在下载的过程中,分别学习到了ubuntu系统从kaggle和aws上以较快速度下载数据集的方法:

kaggle上下载

首先安装kaggle对应的api

conda/pip install kaggle
  1. 参考一招教你如何下载kaggle 创建kaggle.json文件,并放入快速下载kaggle上的数据集-ubuntu系统 所指定的ubuntu系统文件夹中;
  2. 在kaggle比赛官网上找到要下载的数据集界面:

    在要下载的计算机上打开该界面并登录账户,在rules中勾选 “I understand and accept”,否则下载时会直接出现403错误;
  3. 在data中找到对应下载命令:注意右下角的bash代码

从而只用在终端运行:

kaggle competitions download -c inaturalist-challenge-at-fgvc-2017

我的ubuntu系统提示我要先运行一个chmod命令,所以我是:

chmod 600 home/li/.kaggle/kaggle.json
kaggle competitions download -c inaturalist-challenge-at-fgvc-2017

然后很快就把需要的文件下载下来啦~

Github上下载

ubuntu系统上要下载一个188G的图像,源地址在github上,本来以为是github容易连接中断,所以顺便找了以下在github上快速下载的方式:
在Ubuntu中下载github上的文件 总结以下就是只需要两步hhh:

sudo apt install git
git clone + github远程仓库地址

不过后来发现下载链接用的是aws上的数据集,也不是github仓库

AWS上下载

网上关于aws下载的方法有很多,是大多需要登录账户之类的,我的源github界面为:inaturalist dataset 2017,上面明确提到了我想用的数据集可以免费获得,所以我没有太考虑账户的情况,而是用了和网上不太一样的一种方法:

  1. 安装需要的包,在终端中运行:
sudo apt install awscli
  1. aws data网站上找到要下载的数据(在下面的"Search Datasets"里面搜索就可以了),然后得到iNaturalist Licensed Observation Images 这个网站,界面为:

注意这里右侧是有一行no aws account required 的代码的,就很适合我这种很懒的,然后我就使用了这一行代码:

GitHub 数据挖掘 知识图片 github数据集下载_aws


根据在网上看一般情况下aws的下载步骤,这个代码的意思应该是先把要下载的对象放到了某个云空间中,所以还需要再从云空间里下载到本地,这里:

  1. 我在网上找到了一个用sync命令的:

    但是就没有任何反应,也没有任何反馈,也没有下载下来,就直接这一行运行没了;
  2. 所以我又试了一个cp命令的:

    这一次成功了,而且下载速度越来越快,但是我记得在参考的那篇博客中提到超过4G可能就会报错,所以不清楚能不能下载结束,但能开始下载就是很大的一个进不来,如果还是搞不下来,就只能去该代码了hhh

这里要注意的是(aws s3 client-id信息(就是里面的–no–sign–request ) s3命令 目标地址)这几个部分都不能少;