我想将手语数据集从Kaggle下载到我的Colab。
到目前为止,我一直使用wget和特定的zip文件链接,例如:
!wget --no-check-certificate \
https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip \
-O /tmp/rps.zip
但是,当我右键单击Kaggle的下载按钮并选择复制链接以将路径复制到剪贴板并输出时,我得到:
https://www.kaggle.com/datamunge/sign-language-mnist/download
当我在浏览器中使用此链接时,要求我下载它。我可以看到文件名是3258_5337_bundle_archive.zip
所以我尝试了:
!wget --no-check-certificate \
https://www.kaggle.com/datamunge/sign-language-mnist/download3258_5337_bundle_archive.zip \
-O /tmp/kds.zip
并尝试:
!wget --no-check-certificate \
https://www.kaggle.com/datamunge/sign-language-mnist/download3258_5337_bundle_archive.zip \
-O /tmp/kds.zip
我得到了输出:
因此它不起作用。找不到文件,或者返回的zip档案不是101mb大,只有几kb。同样,在尝试解压缩时,它不起作用。
如何将这个文件下载到我的colab中(直接使用wget?)?
答案 0 :(得分:1)
Kaggle建议使用自己的API而不是wget或rsync。
首先,为Kaggle创建API令牌。在Kaggle的网站上,转到“我的帐户”,滚动到API部分,然后单击“创建新的API令牌”-它将在您的计算机上下载kaggle.json文件。
然后在Google Colab中运行以下命令:
from google.colab import files
files.upload() # Browse for the kaggle.json file that you downloaded
# Make directory named kaggle, copy kaggle.json file there, and change the permissions of the file.
! mkdir ~/.kaggle
! cp kaggle.json ~/.kaggle/
! chmod 600 ~/.kaggle/kaggle.json
# You can check if everything's okay by running this command.
! kaggle datasets list
# Download and unzip sign-language-mnist dataset into '/usr/local'
! kaggle datasets download -d datamunge/sign-language-mnist --path '/usr/local' --unzip
答案 1 :(得分:1)
这是我想出的最简单的方法(如果您参加比赛,只需将数据集更改为比赛):
import os
os.environ['KAGGLE_USERNAME'] = "xxxx"
os.environ['KAGGLE_KEY'] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
!kaggle datasets download -d iarunava/happy-house-dataset