如何将太大的 Kaggle 数据集的一个选定文件从 Kaggle 加载到 Colab

问题描述 投票:0回答:2

如果我想从 Kaggle 笔记本切换到 Colab 笔记本,我可以从 Kaggle 下载笔记本并在 Google Colab 中打开该笔记本。这样做的问题是,您通常还需要下载和上传 Kaggle 数据集,这是一项相当大的工作。

如果您有一个小数据集,或者您只需要一个较小的数据集文件,您可以将数据集放入 Kaggle 笔记本所需的相同文件夹结构中。因此,您需要在 Google Colab 中创建该结构,例如

kaggle/input/
或其他内容,然后将其上传到那里。这不是问题。

如果您有一个大型数据集,您可以:

  • 安装您的 Google Drive 并使用其中的数据集/文件

请按照以下步骤下载并使用kaggle数据 谷歌合作实验室:

  1. 转到您的 Kaggle 帐户,滚动到 API 部分,然后单击“过期 API 令牌”以删除以前的令牌

  2. 单击创建新的 API 令牌 - 它将在您的计算机上下载 kaggle.json 文件。

  3. 转到您的 Google Colab 项目文件并运行以下命令:

  1.    ! pip install -q kaggle
    
  2. 选择您下载的kaggle.json文件

    from google.colab import files
    
    files.upload()
    
  3. 创建名为 kaggle 的目录并将 kaggle.json 文件复制到其中。

    ! mkdir ~/.kaggle
    
    ! cp kaggle.json ~/.kaggle/
    
  4. 更改文件的权限。

    ! chmod 600 ~/.kaggle/kaggle.json
    
  5. 仅此而已!您可以通过运行此命令来检查一切是否正常。

    ! kaggle datasets list
    

下载数据

   ! kaggle competitions download -c 'name-of-competition'

或者如果您想下载数据集(取自评论):

! kaggle datasets download -d USERNAME/DATASET_NAME

您可以从“copy API”获取这些数据集名称(如果不清楚) Kaggle 数据集页面上“新建笔记本”按钮旁边的“三点下拉菜单”中的“命令”。

问题来了:这似乎只适用于较小的数据集。我已经试过了

kaggle datasets download -d allen-institute-for-ai/CORD-19-research-challenge

并且它没有找到该 API,可能是因为下载 40 GB 数据受到限制:

404 - Not Found

在这种情况下,您只能下载所需的文件并使用挂载的Google Drive,或者您需要使用Kaggle而不是Colab。

有没有办法将 40 GB CORD-19 Kaggle 数据集的 800 MB 元数据.csv 文件下载到 Colab 中?这是文件信息页面的链接:

https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv

我现在已将文件加载到 Google Drive 中,我很好奇这是否已经是最好的方法。相比之下,在 Kaggle 上,整个数据集已经可用,无需下载,加载速度快,这真是费了很大的功夫。

PS:将 zip 文件从 Kaggle 下载到 Colab 后,需要将其解压。再次进一步引用quide:

使用unzip命令解压数据:

例如创建一个名为train的目录,

   ! mkdir train

在那里解压火车数据,

   ! unzip train.zip -d train

更新:我建议安装 Google Drive

在尝试了两种方法(安装 Google Drive 或直接从 Kaggle 加载)后,如果您的架构允许,我建议安装 Google Drive。这样做的好处是文件只需上传一次:Google Colab 和 Google Drive 直接连接。安装 Google Drive 需要额外的步骤,从 Kaggle 下载文件、解压缩并将其上传到 Google Drive,以及为每个 Python 会话获取并激活一个令牌来安装 Google Drive,但激活令牌很快就能完成。使用 Kaggle,您需要在每次会话时将文件从 Kaggle 上传到 Google Colab,这会花费更多时间和流量。

api download dataset google-colaboratory kaggle
2个回答
2
投票

import os os.environ['KAGGLE_USERNAME'] = "YOUR_USERNAME_HERE" os.environ['KAGGLE_KEY'] = "YOUR_TOKEN_HERE" !kaggle datasets files allen-institute-for-ai/CORD-19-research-challenge !kaggle datasets download allen-institute-for-ai/CORD-19-research-challenge -f metadata.csv



0
投票

© www.soinside.com 2019 - 2024. All rights reserved.