Python Can';在google colab中找不到kaggle.json文件
我正试图将kaggle imagenet对象定位挑战数据下载到google colab中,以便使用它来训练我的模型。Kaggle使用API轻松快速地访问他们的数据集。()但是,在google colab中调用命令“kaggle competitions download-c imagenet object localization challenge”时,它找不到包含我的用户名和api密钥的kaggle.json文件 在运行jupyter笔记本电脑时,我的mac电脑上没有这个问题,但由于我想在我的机型上使用google的gpu,我开始使用google colab。因为kaggle API希望用户名和API密钥位于.kaggle目录下的kaggle.json文件中,所以我首先创建了目录.kaggle,然后创建了文件kaggle.json,我在其中写入了用户名和API密钥(下面的示例不显示我的用户名和API密钥)。然后,我尝试为kaggle配置json文件的路径,以便在调用kaggle下载命令时使用Python Can';在google colab中找不到kaggle.json文件,python,google-colaboratory,kaggle,Python,Google Colaboratory,Kaggle,我正试图将kaggle imagenet对象定位挑战数据下载到google colab中,以便使用它来训练我的模型。Kaggle使用API轻松快速地访问他们的数据集。()但是,在google colab中调用命令“kaggle competitions download-c imagenet object localization challenge”时,它找不到包含我的用户名和api密钥的kaggle.json文件 在运行jupyter笔记本电脑时,我的mac电脑上没有这个问题,但由于我想在我
!pip安装卡格尔
!mkdir.kaggle
!touch.kaggle/kaggle.json
api_令牌={“用户名”:“用户名”,“密钥”:“api密钥”}
导入json
进口拉链
导入操作系统
以open('/content/.kaggle/kaggle.json','w')作为文件:
dump(api_令牌,文件)
!chmod 600/content/.kaggle/kaggle.json
!kaggle配置路径-p/content
但是,在运行最后一个命令时,出现了错误:
IOError: Could not find kaggle.json. Make sure it's located in /root/.kaggle. Or use the environment method.
我的目标是使用以下命令从kaggle获取数据集:
!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 API找不到我的json文件。如何在google colab中使用API?正如错误所说,您需要将kaggle.json放在正确的位置 尝试: 然后再次运行代码。根据json要查找的凭据的位置是
~/.kaggle/kaggle.json
,因为google colab环境是基于Linux的。
在代码段中,您尝试配置path
参数,但它不用于查找凭证json:
-路径:将下载文件的文件夹,默认为当前工作目录
因此,google colab环境的完整工作片段是:
!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调用,比如
!kaggle datasets download -d datamunge/sign-language-mnist
如果您是windows用户,请将kaggle.json移到.kaggle文件夹中,这样您就可以在系统根目录(位于用户名文件夹中)中找到它。您可以找到放置表单kaggle门户本身所需的json文件。只需单击“创建新API令牌”,它将为您提供一个需要放置的JSON文件
这是迄今为止最好的答案,应该是公认的答案!答案很清楚。非常感谢。
!kaggle datasets download -d datamunge/sign-language-mnist