fbpx

如何在 Colab 中透過 Kaggle API 下載資料集

kaggle-logo

之前介紹過「用 Google Colab 免費 GPU 訓練 AI 模型教學」發現佛心 Colab 提供免費 GPU 真是個好東西,另外 Machine Learning 社群平台 Kaggle (號稱數據科學的殿堂) 有很多我們常常需要測試的 Dataset,其實 Colab 底層也是 Linux,可以透過 Command 直接透過 Kaggle API 下載資料集。由於 Kaggle 上面有很多 Competitions 與 Play Dataset,如果能夠直接在 Colab 操作就會非常方便,今天來教學一下。

取得 Kaggle Account API Token

開始使用 Kaggle API 以前當然要先註冊 Kaggle 帳號,登入 Kaggle 以後點選右上角的頭像,進入「My Account」,如下:

kaggle-account
接著往下捲到 API 選擇「Create New API Token」瀏覽器就會下載一個 kaggle.json 檔案。裡頭就是 API Token 囉,如下:

kaggle-api-token

有了 kaggle.json 就可以使用 API 了。

在 Colab 中透過 Kaggle API 下載 Dataset

先找到你想要 Dataset 名稱,然後執行以下 python 就可以下載囉,程式中的 api_token 記得替換為剛剛下載的 kaggle.json 內容,如下:

api_token = {"username":"your_username","key":"your_token"}
import json
import zipfile
import os

if not os.path.exists("/root/.kaggle"):
    os.makedirs("/root/.kaggle")

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

if not os.path.exists("/kaggle"):
    os.makedirs("/kaggle")
os.chdir('/kaggle')
!kaggle datasets download -d chetankv/dogs-cats-images --force

!ls /kaggle

這裡我們用經典的貓狗分類資料集來示範,資料集的名稱是:chetankv/dogs-cats-images,執行結果如下:

colab-kaggle-dataset-download

上述程式也在 GitHub 同步上映,需要的請自行下載分享加關注,掰~