Linux 端 Kaggle 数据集下载:API 下载
一、准备好 kaggle.json 文件
1. 登录 Kaggle 官网。
2. 点击右上角头像 -> Your Profile -> Account -> Create New Token ,即可生成kaggle.json文件(PS:每次生成的.json文件内容不一样,要保证服务器端的文件是最新的)。
3. 在服务器端/home/username创建.kaggle文件夹,将生成的kaggle.json文件复制到/home/username/.kaggle下。
4. 使用以下命令改变kaggle.json权限:
chmod 600 ~/.kaggle/kaggle.json
二、下载数据集
1. 在服务器端对应环境下安装 Kaggle API(因此完成这一步之前需要先搭建好 Anaconda 环境,或者其它深度学习环境),使用以下命令:
pip install --user kaggle
2. 在 Kaggle 比赛下的数据集页面下,找到下载命令里面的比赛的名字。
3. 使用如下命令下载数据集:
kaggle competitions download -c 比赛的名字 [-p PATH]
或
nohup kaggle competitions download -c 比赛的名字 [-p PATH] &
其中,nohup 作用是使得系统后台不挂断地运行命令,退出终端不会影响程序的运行。-p 指定下载位置,默认放在当前目录下。
使用 nohup 时,会在当前目录下生成nohup.out文件,查看该文件可以查看下载进度,使用以下命令查看:
tail -f nohup.out
PS:由于数据服务器在国外,很容易出现连不上的问题,多试几次即可!
数据连接问题报错如下:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='translate.google.com', port=443): M...
除了多试几次,网上推荐的解决方法如下:
pip install -U pyopenssl
或者:
pip install -U "urllib3<1.25"
两种方法我都没试过,所以不知道是否有效,有兴趣的同志可以试试!
参考资料
1.https://blog.youkuaiyun.com/Marsbupt/article/details/124795050
2.https://zhuanlan.zhihu.com/p/541254524
3.https://www.jianshu.com/p/261adcc2ec54/
4.https://blog.youkuaiyun.com/qq_26870933/article/details/103044842?spm=1001.2014.3001.5506