当前位置: 首页 > news >正文

【Kaggle】Kaggle数据集如何使用命令语句下载?

一、Kaggle数据集如何下载

1.1 问题的起因

最近看到了 Google 组织的 Kaggle 比赛,想自己试一下,但是数据集太大了,将近有370G的数据。直接下载的话,网速太慢,可能要下载3-4天,所以萌生了用命令语句下载的想法。

在这里插入图片描述

1.2 解决方法

一开始的想法简单粗暴,直接 wget 浏览器获取到的链接,然后在服务器上直接 wget,结果一试,果然不行。

然后就搜索了下,发现官方提供了下载的命令行工具,直接pip安装之后就可用。

https://github.com/Kaggle/kaggle-api

在这里插入图片描述

下面就写一下自己总结的关键步骤。

1.2.1 安装 Kaggle API

确保您已安装 Python 和包管理器 pip。 运行以下命令以使用命令行访问 Kaggle API:

pip install kaggle 

可能需要在 Mac/Linux 上执行:

pip install --user kaggle

如果在安装过程中出现问题,建议执行此操作。

通过 root 用户完成的安装(即 sudo pip install kaggle)将无法正常工作除非你明白你在做什么。 即使这样,它们仍然可能无法工作。

如果出现权限错误,强烈建议用户安装。

如果您遇到 kaggle: command not found 错误,请确保您的 Python 二进制文件位于您的路径上。

您可以通过执行 pip uninstall kaggle 并查看二进制文件的位置来查看 kaggle 的安装位置。

  • 对于 Linux 上的本地用户安装,默认位置是 ~/.local/bin;

  • 在 Windows 上,默认位置是 $PYTHON_HOME/Scripts。

我是在 Windows 上运行的:

pip install kaggle

我们的输出为:

(PyTorch) F:\kaggle>pip install kaggle
Collecting kaggleDownloading kaggle-1.5.16.tar.gz (83 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.6/83.6 kB 130.5 kB/s eta 0:00:00Preparing metadata (setup.py) ... done
Requirement already satisfied: six>=1.10 in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (1.16.0)
Requirement already satisfied: certifi in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (2022.12.7)
Requirement already satisfied: python-dateutil in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (2.8.2)
Requirement already satisfied: requests in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (2.31.0)
Requirement already satisfied: tqdm in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (4.65.0)
Collecting python-slugifyDownloading python_slugify-8.0.1-py2.py3-none-any.whl (9.7 kB)
Requirement already satisfied: urllib3 in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (1.26.12)
Requirement already satisfied: bleach in d:\anaconda\envs\pytorch\lib\site-packages (from kaggle) (5.0.1)
Requirement already satisfied: webencodings in d:\anaconda\envs\pytorch\lib\site-packages (from bleach->kaggle) (0.5.1)
Collecting text-unidecode>=1.3Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.2/78.2 kB 543.3 kB/s eta 0:00:00
Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\envs\pytorch\lib\site-packages (from requests->kaggle) (3.1.0)
Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\envs\pytorch\lib\site-packages (from requests->kaggle) (3.4)  
Requirement already satisfied: colorama in d:\anaconda\envs\pytorch\lib\site-packages (from tqdm->kaggle) (0.4.6)        
Building wheels for collected packages: kaggleBuilding wheel for kaggle (setup.py) ... doneCreated wheel for kaggle: filename=kaggle-1.5.16-py3-none-any.whl size=110697 sha256=b988a133c1466dda33402c76755602048d45d3e79d6600b04c67842c464b53ecStored in directory: c:\users\xiaowang\appdata\local\pip\cache\wheels\43\4b\fb\736478af5e8004810081a06259f9aa2f7c3329fc5d03c2c412
Successfully built kaggle
Installing collected packages: text-unidecode, python-slugify, kaggle
Successfully installed kaggle-1.5.16 python-slugify-8.0.1 text-unidecode-1.3

1.2.2 创建token

登录 kaggle 自己的主页(https://www.kaggle.com/<USER_NAME>/account),找到 API,点击 create api token 按钮,生成 kaggle.json 配置文件,文件中便包含了用户名和 token 串。

在这里插入图片描述
在这里插入图片描述

将该文件移动至 kaggle 默认的路径下(~/.kaggle/kaggle.json),我的放置路径为:

C:\Users\XiaoWang\.kaggle

如果在用户路径下没有找到 .kaggle 的文件夹,自己新建一个!

这里需要注意,kaggle.json 文件除了可以配置用户名和 token 外,还可以配置 proxy 等内容,具体参考如下:

usage: kaggle config set [-h] -n NAME -v VALUErequired arguments:-n NAME, --name NAME  Name of the configuration parameter(one of competition, path, proxy)-v VALUE, --value VALUEValue of the configuration parameter, valid values depending on name- competition: Competition URL suffix (use "kaggle competitions list" to show options)- path: Folder where file(s) will be downloaded, defaults to current working directory- proxy: Proxy for HTTP requests

当然,也可以直接编辑 kaggle.json 文件。编辑好后,执行 kaggle config view,查看当前配置。

(PyTorch) F:\kaggle>kaggle config view
Configuration values from C:\Users\XiaoWang\.kaggle
- username: *****
- path: F:/kaggle
- proxy: None
- competition: None

1.2.3 下载数据

上面都准备好之后,找到要下载数据的页面,就可以进行数据下载了。这里以我要下载数据的地址为例:

https://www.kaggle.com/competitions/google-research-identify-contrails-reduce-global-warming

我们找到下面的数据集下载的 API 命令!

在这里插入图片描述

kaggle competitions download -c google-research-identify-contrails-reduce-global-warming

即可看到如下命令提示:

(PyTorch) F:\kaggle>kaggle competitions download -c google-research-identify-contrails-reduce-global-warming
Downloading google-research-identify-contrails-reduce-global-warming.zip to F:/kaggle\competitions\google-research-identify-contrails-reduce-global-warming16%|███████████████▋                                                                                    | 47.4G/302G [1:21:35<6:24:02, 11.9MB/s]

更多的数据下载方式如下:

usage: kaggle datasets download [-h] [-f FILE_NAME] [-p PATH] [-w] [--unzip][-o] [-q][dataset]optional arguments:-h, --help            show this help message and exitdataset               Dataset URL suffix in format <owner>/<dataset-name> (use "kaggle datasets list" to show options)-f FILE_NAME, --file FILE_NAMEFile name, all files downloaded if not provided(use "kaggle datasets files -d <dataset>" to show options)-p PATH, --path PATH  Folder where file(s) will be downloaded, defaults to current working directory-w, --wp              Download files to current working path--unzip               Unzip the downloaded file. Will delete the zip file when completed.-o, --force           Skip check whether local version of file is up to date, force file download-q, --quiet           Suppress printing information about the upload/download progress
http://www.lryc.cn/news/101334.html

相关文章:

  • android pdf框架,编译mupdf
  • 线性表详细讲解
  • 代码随想录算法训练营day45
  • 机器学习深度学习——softmax回归(上)
  • 基于express调用chatgpt文字流输出和有道智云语音合成
  • (学习笔记-内存管理)内存分段、分页、管理与布局
  • PHP使用Redis实战实录1:宝塔环境搭建、6379端口配置、Redis服务启动失败解决方案
  • 【数据结构】这堆是什么
  • FFmpeg 音视频开发工具
  • Go 语言 select 都能做什么?
  • Hive之窗口函数lag()/lead()
  • Vite+Typescript+Vue3学习笔记
  • 二、SQL-6.DCL-2).权限控制
  • [OpenStack] GPU透传
  • 无涯教程-jQuery - Progressbar组件函数
  • [SQL挖掘机] - 窗口函数 - rank
  • VBAC多层防火墙技术的研究-状态检测
  • PHP8的数据类型-PHP8知识详解
  • 明晚直播:可重构计算芯片的AI创新应用分享!
  • flask 点赞系统
  • 关于Java的多线程实现
  • 如何判断某个视频是深度伪造的?
  • ESP32(MicroPython) 四足机器人(一)
  • 力扣刷题记录---利用python实现链表的基本操作
  • OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程
  • PHP 支付宝支付、订阅支付(周期扣款)整理汇总
  • python-pytorch基础之神经网络回归
  • linux中通过.desktop文件执行bash命令打开chrome浏览器并传参
  • ChatGPT的应用与发展趋势:解析人工智能的新风口
  • 使用maven打jar包时,如何只把依赖的其它jar中的类打进jar包,没有依赖的其它jar包的类文件不打进来?