【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 kaggle
  Downloading kaggle-1.5.16.tar.gz (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.6/83.6 kB 130.5 kB/s eta 0:00:00
  Preparing 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-slugify
  Downloading 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.3
  Downloading 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: kaggle
  Building wheel for kaggle (setup.py) ... done
  Created wheel for kaggle: filename=kaggle-1.5.16-py3-none-any.whl size=110697 sha256=b988a133c1466dda33402c76755602048d45d3e79d6600b04c67842c464b53ec
  Stored 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 VALUE

required arguments:
  -n NAME, --name NAME  Name of the configuration parameter
                        (one of competition, path, proxy)
  -v VALUE, --value VALUE
                        Value 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-warming
 16%|███████████████▋                                                                                    | 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 exit
  dataset               Dataset URL suffix in format <owner>/<dataset-name> (use "kaggle datasets list" to show options)
  -f FILE_NAME, --file FILE_NAME
                        File 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/49687.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

详解rocketMq通信模块升级构想

本文从开发者的角度深入解析了基于netty的通信模块, 并通过简易扩展实现微服务化通信工具雏形, 适合于想要了解netty通信框架的使用案例, 想了解中间件通信模块设计, 以及微服务通信底层架构的同学。希望此文能给大家带来通信模块架构灵感。 概述 网络通信是很常见的需求&#…

并发编程可能出现的核心问题

2.1非可见性 如果主内存里有个静态变量flagfalse&#xff0c;然后线程A和B在工作内存都需要操作flag&#xff0c;线程A是while(!false){}&#xff0c;而线程B将flag改为true&#xff0c;但是由于线程A和线程B之间工作内存互相不可见&#xff0c;线程A就会陷入死循环。 2.2指令…

【C++11】——类的新功能

目录 1. 默认成员函数 2. 类成员变量初始化 3. 强制生成默认函数的关键字default 4. 禁止生成默认函数的关键字delect 5. 继承和多态的final与override关键字 6. 测试案例 1. 默认成员函数 原来C类中&#xff08;C11之前&#xff09;&#xff0c;有6个默认成员函数&…

GAMES101 笔记 Lecture12 Geometry3

目录 Mesh Operations: Geometry ProcessingMesh Subdivision (曲面细分)Mesh Simplification(曲面简化)Mesh Regularization(曲面正则化) Subdivision(细分)Loop Subdivision(Loop细分)如何来调整顶点位置呢&#xff1f;Loop Subdivision Result (Loop细分的结果) Catmull-Cla…

大数据-Spark批处理实用广播Broadcast构建一个全局缓存Cache

1、broadcast广播 在Spark中&#xff0c;broadcast是一种优化技术&#xff0c;它可以将一个只读变量缓存到每个节点上&#xff0c;以便在执行任务时使用。这样可以避免在每个任务中重复传输数据。 2、构建缓存 import org.apache.spark.sql.SparkSession import org.apache.s…

【【51单片机11.0592晶振红外遥控】】

51单片机11.0592晶振红外遥控 红外遥控&#xff0c;51单片机完结 这是初步实现的架构 怎么实现内部的详细逻辑 我们用状态机的方法 0状态时一个空闲状态 当它接收到下降沿开始计时然后转为1状态 1状态下 寻找start 或者repeat的信号 再来下降沿读出定时器的值 如果是start 那…

Python爬虫基础知识点有哪些

目录 Python爬虫基础知识点 Requests库 Beautiful Soup库 正则表达式 数据存储 防止被反爬虫策略 爬虫调度和任务管理 认识robots.txt文件 反爬虫法律与道德 示例代码 Requests库 Beautiful Soup库 正则表达式 数据存储 防止被反爬虫策略 结语 网络世界中信息的…

如图,△ABC中,AD是角平分线,E、F分别为AC、AB上的点,且∠AED+∠AFD=180°.试问:DE与DF有何关系,并说明理由.

Question&#xff1a; 如图&#xff0c;△ABC中&#xff0c;AD是角平分线&#xff0c;E、F分别为AC、AB上的点&#xff0c;且∠AED∠AFD180&#xff0e;试问&#xff1a;DE与DF有何关系&#xff0c;并说明理由&#xff0e; Answer&#xff1a; 分析&#xff1a;过D作DM⊥AB于…

为 Google Play 即将推出基于区块链的内容政策做好准备

作者 / Joseph Mills, Group Product Manager, Google Play 作为一个平台&#xff0c;Google Play 一直致力于帮助开发者将创新理念变为现实。Google Play 上托管了许多和区块链相关的应用&#xff0c;我们深知合作伙伴们希望扩展这些应用&#xff0c;并利用 NFT 等代币化数字资…

两数相加 II——力扣445

题目描述 法一 栈 本题旨在从后往前加&#xff0c;为了逆序处理所有数位&#xff0c;利用栈&#xff0c;把数字压入栈中&#xff0c;再依次取出相加&#xff0c;注意进位&#xff01;进位是/10&#xff0c;另外需要注意栈的常用函数&#xff0c;push()、pop()、top()&#xff0…

Unity游戏源码分享-2.5D塔防类游戏

Unity游戏源码分享-2.5D塔防类游戏 项目地址&#xff1a; https://download.csdn.net/download/Highning0007/88118947

android存储4--初始化.emulated设备的挂载

android版本&#xff1a;android-11.0.0_r21http://aospxref.com/android-11.0.0_r21 android手机的挂载非常复杂。这篇文章针对emulated存储&#xff0c;介绍它的挂载过程。 一、为什么emulted存储要用很复杂的挂载方式 1&#xff0c; emulted存储是什么 android早期&#…

RCU 使用及机制源码的一些分析

》内核新视界文章汇总《 文章目录 1 介绍2 使用方法2.1 经典 RCU2.2 不可抢占RCU2.3 加速版不可抢占RCU2.4 链表操作的RCU版本2.5 slab 缓存支持RCU 3 源码与实现机制的简单分析3.1 数据结构3.2 不可抢占RCU3.3 加速版不可抢占RCU3.4 可抢占RCU3.5 报告禁止状态3.6 宽限期的开…

Photoshop2023beta常见问题|ps 2023测试版智能AI功能不能用如何解决?

PS beta ai创成式填充用不了怎么办 生成图像出错解决方法&#xff1f;PS 2023最新版本更新了超强大的AI功能&#xff0c;可以一键生成或删除用户选中的内容&#xff0c;这可大大提高了生成图片的效率。生成出来的图片也被公认为质量超高&#xff0c;虽然偶尔可能有点小瑕疵&…

vue2中开发时通过template中的div等标签自动输出对应的less形式带层级的class,只显示带class的

1.写完静态不是要写less吗&#xff0c;自动生成一下实现 this.getLevelClass(domId); domId是自定义的class名称&#xff0c;跟根据自己的需要设置 //vue2中开发时通过template中的div等标签自动输出对应的less形式带层级的class,只显示带class的getLevelClass(name) {let dom…

flask的配置项

flask的配置项 为了使 Flask 应用程序正常运行&#xff0c;有多种配置选项需要考虑。下面是一些基本的 Flask 配置选项&#xff1a; DEBUG: 这个配置项决定 Flask 是否应该在调试模式下运行。如果这个值被设为 True&#xff0c;Flask 将会提供更详细的错误信息&#xff0c;并…

STM32 I2C OVR 错误

一、问题 STM32 I2C 用作从机时&#xff0c;开启如下中断并启用 callback 回调函数。 每一次复位后&#xff0c;从机都可以正常触发地址匹配中断ADDR&#xff0c;之后在该中断的回调函数中启用接收中断去收取数据时&#xff0c;却无法进入RXNE中断&#xff0c;而是触发了 OVR …

Exadata磁盘损坏导致磁盘组无法mount恢复(oracle一体机磁盘组异常恢复)---惜分飞

Oracle Exadata客户,在换盘过程中,cell节点又一块磁盘损坏,导致datac1磁盘组&#xff08;该磁盘组是normal方式冗余)无法mount Thu Jul 20 22:01:21 2023 SQL> alter diskgroup datac1 mount force NOTE: cache registered group DATAC1 number1 incarn0x0728ad12 NOTE: ca…

【Spring Boot丨序列化、反序列化】

序列化、反序列化 概述Jackson 序列化和反序列化简介自定义序列化器注册外部序列化程序&#xff1a; 指定类的 Json 序列化、反序列化 主页传送门&#xff1a;&#x1f4c0; 传送 概述 序列化是将对象转换为字节序列的过程&#xff0c;而反序列化则是将字节序列恢复为对象的过…