首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在google中找不到kaggle.json文件

在google中找不到kaggle.json文件
EN

Stack Overflow用户
提问于 2019-06-29 09:43:34
回答 6查看 29K关注 0票数 31

我正在尝试将kaggle对象定位挑战数据下载到google中,以便我可以使用它来训练我的模型。Kaggle使用一个API来方便和快速地访问他们的数据集。(https://github.com/Kaggle/kaggle-api)然而,当在google中调用命令“-c竞赛下载-c imagenet-对象-本地化-挑战”时,它找不到包含我的用户名和api-key的kaggle.json文件。

在我的mac电脑上运行jupyter笔记本时,我没有遇到这个问题,但是由于我想使用google的gpu作为我的模型,所以我开始使用google。因为kaggle期望用户名和API -键位于位于kaggle.json目录中的.kaggle文件中,所以我首先创建了目录.kaggle,然后创建了文件kaggle.json,然后将用户名和api-键写入其中(下面的示例不显示用户名和api-key)。然后,我尝试为kaggle在调用kaggle下载命令时使用json文件配置路径。

代码语言:javascript
复制
!pip install kaggle

!mkdir .kaggle
!touch .kaggle/kaggle.json

api_token = {"username":"username","key":"api-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

但是,在运行最后一个命令时,我得到了错误:

代码语言:javascript
复制
IOError: Could not find kaggle.json. Make sure it's located in /root/.kaggle. Or use the environment method.

我的目标是使用以下命令从kaggle获取数据集:

代码语言:javascript
复制
!kaggle competitions download -c imagenet-object-localization-challenge
os.chdir('/content/competitions/imagenet-object-localization-challenge')
for file in os.listdir():
    zip_ref = zipfile.ZipFile(file, 'r')
    zip_ref.extractall()
    zip_ref.close()

我不明白为什么kaggle找不到我的json文件。如何在google中使用API?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2019-06-29 17:19:54

正如错误说的那样,您需要将kaggle.json放在正确的位置。

尝试:

代码语言:javascript
复制
!mv .kaggle /root/

然后再运行你的代码。

票数 8
EN

Stack Overflow用户

发布于 2019-08-07 20:16:57

根据kaggle api文档的说法,json寻找凭证的位置是~/.kaggle/kaggle.json,因为google环境是基于Linux的。在您的代码片段中,您尝试配置path参数,但它不习惯于查找凭据json:

  • 路径:下载文件的文件夹,默认为当前工作目录

因此,google环境的完整工作片段应该是:

代码语言:javascript
复制
!mkdir ~/.kaggle
!touch ~/.kaggle/kaggle.json

api_token = {"username":"username","key":"api-key"}

import json

with open('/root/.kaggle/kaggle.json', 'w') as file:
    json.dump(api_token, file)

!chmod 600 ~/.kaggle/kaggle.json

然后调用一些api,如

代码语言:javascript
复制
!kaggle datasets download -d datamunge/sign-language-mnist
票数 37
EN

Stack Overflow用户

发布于 2020-12-28 07:00:44

您可以找到您需要放置的JSON文件,以形成Kaggle的门户本身。只需登录kaggle,转到您的帐户页面,然后单击'Create‘,它将为您提供一个需要放置的JSON文件。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56816537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档