从 Kaggle 下载文件到 Google Colab
Download file from Kaggle to Google Colab
我想从 Kaggle 下载手语数据集到我的 Colab。
到目前为止,我一直使用 wget 和特定的 zip 文件 link,例如:
!wget --no-check-certificate \
https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip \
-O /tmp/rps.zip
但是,当我右键单击 Kaggle 上的下载按钮并 select 复制 link 以将路径复制到我的剪贴板并输出时,我得到:
https://www.kaggle.com/datamunge/sign-language-mnist/download
当我在浏览器中使用这个 link 时,我被要求下载它。我可以看到文件名是 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?)?
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
从这里使用的信息:https://www.kaggle.com/general/74235
这是我想到的最简单的方法(如果你参加比赛只需将数据集更改为比赛):
import os
os.environ['KAGGLE_USERNAME'] = "xxxx"
os.environ['KAGGLE_KEY'] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
!kaggle datasets download -d iarunava/happy-house-dataset
我想从 Kaggle 下载手语数据集到我的 Colab。
到目前为止,我一直使用 wget 和特定的 zip 文件 link,例如:
!wget --no-check-certificate \
https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip \
-O /tmp/rps.zip
但是,当我右键单击 Kaggle 上的下载按钮并 select 复制 link 以将路径复制到我的剪贴板并输出时,我得到:
https://www.kaggle.com/datamunge/sign-language-mnist/download
当我在浏览器中使用这个 link 时,我被要求下载它。我可以看到文件名是 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?)?
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
从这里使用的信息:https://www.kaggle.com/general/74235
这是我想到的最简单的方法(如果你参加比赛只需将数据集更改为比赛):
import os
os.environ['KAGGLE_USERNAME'] = "xxxx"
os.environ['KAGGLE_KEY'] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
!kaggle datasets download -d iarunava/happy-house-dataset