是否可以使用Google Colab中kaggle
API提供的任何数据集?我看到在this Colab notebook中使用了Kaggle API,但我有点不清楚它提供了哪些数据集访问权限。
答案 0 :(得分:50)
循序渐进 -
在Kaggle中创建API密钥。
接下来,向下滚动到API访问部分,然后点击“生成”
下载API密钥。
这会将名为kaggle.json
的文件下载到您的计算机。
您将在Colab中使用此文件来访问Kaggle数据集和
比赛。
导航至https://colab.research.google.com/。
使用以下代码段上传您的kaggle.json
文件
代码单元格:
from google.colab import files
files.upload()
使用!pip install -q kaggle
将kaggle.json
文件移至~/.kaggle
,即{。}}
API客户端期望找到您的令牌:
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
现在您可以使用客户端访问数据集,例如!kaggle datasets list
。
以下是此过程的Colab部分的完整示例笔记本: 的 https://colab.research.google.com/drive/1DofKEdQYaXmDWBzuResXWWvxhLgDeVyl 强>
此示例显示上传kaggle.json
文件,Kaggle API客户端以及使用Kaggle客户端下载数据集。
答案 1 :(得分:7)
您应该能够通过API访问Kaggle上的任何数据集。在此示例中,仅列出了竞赛的数据集。您可以使用此命令查看可以访问的数据集:
kaggle datasets list
您还可以通过添加-s标记然后添加您感兴趣的搜索词来搜索数据集。因此,这将为您提供有关狗的数据集列表:
kaggle datasets list -s dogs
您可以在documentation here。
中找到有关API以及如何使用它的更多信息希望有所帮助! :)
答案 2 :(得分:3)
我有本教程可直接在Google Colab上使用Kaggle API,而无需通过本地计算机下载和上传数据集。 Kaggle API + Colaboratory
答案 3 :(得分:1)
查看this。
它在场景后面使用官方的kaggle api,但是自动执行该过程,因此您不必在每次移除VM时手动重新下载。另外,我在Colab上直接使用Kaggle API面临的另一个问题是通过Google Drive传输Kaggle API令牌的麻烦。上面的方法也可以自动化。
免责声明:我是Clouderizer的创作者之一。
答案 4 :(得分:1)
详细方法:
6。转到Kaggle网站。例如,要下载任何数据,请单击屏幕右侧的三个点。然后点击复制API命令
8。当您执行!ls
时,您会看到我们的下载文件是一个zip文件。
!ls
时,您会发现我们的csv文件是从zip文件中提取的。pd.read_csv
,请导入熊猫12。如您所见,我们已成功将文件读入colab。
这会将kaggle数据集下载到google colab中,您可以在其中执行分析并构建出色的机器学习模型或训练神经网络。
快乐分析!
答案 5 :(得分:0)
在上述步骤(1-6)之后,要使用colab中特定比赛的数据集, 您可以使用以下命令:
!kaggle竞赛下载-c elo-merchant-category-recommendation
(elo-merchant-category-recommendation是比赛的名称。)
答案 6 :(得分:0)
首先,运行此命令以找出此colab文件在何处以及如何执行。
!ls -d $PWD/*
它将显示/content/data /content/gdrive /content/models
换句话说,您当前的目录是root / content /。您的工作目录(pwd)为/ content /。因此,当您执行!ls
时,它将显示data gdrive models
。
仅供参考!允许您在colab中运行linux命令。
Google云端硬盘会继续清理/ content文件夹。因此,您使用colab的每个会话,下载的数据集,kaggle json文件都将消失。这就是自动化该过程非常重要的原因,因此您可以专注于编写代码,而不必每次都设置环境。
以您自己的api密钥作为示例在colab代码块中运行它。打开kaggle.json文件。您会发现它们的。
# Info on how to get your api key (kaggle.json) here: https://github.com/Kaggle/kaggle-api#api-credentials
!pip install kaggle
{"username":"seunghunsunmoonlee","key":""}
import json
import zipfile
import os
with open('/content/.kaggle/kaggle.json', 'w') as file:
json.dump(api_token, file)
!chmod 600 /content/.kaggle/kaggle.json
!kaggle config path -p /content
!kaggle competitions download -c dog-breed-identification
os.chdir('/content/competitions/dog-breed-identification')
for file in os.listdir():
zip_ref = zipfile.ZipFile(file, 'r')
zip_ref.extractall()
zip_ref.close()
然后再次运行!ls
。您将看到所需的所有数据。
希望对您有帮助!
答案 7 :(得分:0)
结合了对此Github gist as Colab Implementation的最高反应。您可以直接复制代码并使用它。
How to Import a Dataset from Kaggle in Colab
首先要做的几件事:
kaggle.json
的身份访问Kaggle API # Install kaggle packages
!pip install -q kaggle
!pip install -q kaggle-cli
# Colab's file access feature
from google.colab import files
# Upload `kaggle.json` file
uploaded = files.upload()
# Retrieve uploaded file
# print results
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
# Then copy kaggle.json into the folder where the API expects to find it.
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!ls ~/.kaggle
现在检查是否有效!
#list competitions
!kaggle competitions list -s LANL-Earthquake-Prediction
答案 8 :(得分:0)
要从kaggle下载google colab上的竞争数据。 我正在研究Google Colab,但遇到了同样的问题。但是我做了两次。
首先,您必须注册您的手机号码以及您的国家代码。 其次,您必须单击kaggle数据集页面上的最后提交 然后从Google colab上的kaggle.upload kaggle.json下载kaggle.json文件 之后,在Google colab上运行以下代码。
!pip install -q kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle competitions download -c web-traffic-time-series-forecasting
答案 9 :(得分:0)
最重要的部分是在下载文件之前:
在 Kaggle 网页的竞赛部分,您必须点击:
迟交或参加比赛
和
接受 KAGGLE 竞赛网页上的规则和条件
如果不是,复制api文件后,启动下载数据集后,结果显示403错误。
答案 10 :(得分:0)
一种hacky方式:
archive.zip
开头的请求!
附加到命令的开头,然后运行它这绝对是一种不如 API 可靠的方法,但仍然是一种选择。
答案 11 :(得分:0)
我发现接受的答案非常全面,但想补充一点:
!kaggle competitions download -c dogs-vs-cats
或大多数其他下载仍然无法正常工作。您可能会收到以下错误:
<块引用>403 - 禁止
这不是很冗长。它想说:“请访问 kaggle.com 并接受规则(例如针对该比赛)。您不能通过 API 接受!文档中明确说明(参见 Public API documentation | Kaggle):
<块引用>就像通常通过用户界面参加比赛一样,您必须阅读并接受规则才能下载数据或提交。您不能通过 API 接受比赛规则。你必须通过访问 Kaggle 网站并接受那里的规则来做到这一点。
是的,这可能是评论,但我缺少足够的声誉来发表评论。
答案 12 :(得分:0)
import os
os.makedirs("/content/.kaggle/")
import json
token = {"username":"your_username_here","key":"your_kaggle_key_here"}
with open('/content/.kaggle/kaggle.json', 'a+') as file:
json.dump(token, file)
import shutil
os.makedirs("/.kaggle/")
src="/content/.kaggle/kaggle.json"
des="/.kaggle/kaggle.json"
shutil.copy(src,des)
os.makedirs("/root/.kaggle/")
!cp /content/.kaggle/kaggle.json ~/.kaggle/kaggle.json
!kaggle config set -n path -v /content
#https://towardsdatascience.com/setting-up-kaggle-in-google-colab-ebb281b61463
!kaggle datasets download -d xhlulu/siim-covid19-resized-to-512px-png
从 29-05-21 开始在 Colab 上为我工作!
答案 13 :(得分:0)
使用 Kaggle API 在 Google Colab 中使用 Kaggle 数据集的快速指南
(1) 下载 Kaggle API 令牌。
(2) 将 Google 驱动器挂载到 Colab 笔记本。
from google.colab import drive
drive.mount("/content/gdrive", force_remount=True)
(3) 将“kaggle.json”文件上传到谷歌驱动器中您要下载Kaggle数据集的文件夹中。
(4) 安装 Kaggle API。
!pip install kaggle
(5) 将当前工作目录更改为要下载 Kaggle 数据集的位置。
%cd /content/gdrive/MyDrive/DataSets/house_price_data/
(6) 运行以下代码,配置“kaggle.json”的路径。
import os
os.environ['KAGGLE_CONFIG_DIR'] = "/content/gdrive/MyDrive/DataSets/house_price_data/"
(7) 下载数据集。
!kaggle competitions download -c house-prices-advanced-regression-techniques