Google Colabのkaggle
APIを介して利用可能なデータセットを使用することは可能ですか? Kaggle APIは このColabノートブック で使用されていますが、どのデータセットにアクセスできるかは少しわかりません。
ステップバイステップ-
KaggleでAPIキーを作成します。
次に、APIアクセスセクションまでスクロールダウンし、生成をクリックしてAPIキーをダウンロードします。 これにより、kaggle.json
というファイルがコンピューターにダウンロードされます。 Colabでこのファイルを使用して、Kaggleデータセットとコンテストにアクセスします。
Https://colab.research.google.com/に移動します。
コードセルで次のスニペットを使用して、kaggle.json
ファイルをアップロードします。
from google.colab import files files.upload()
!pip install -q kaggle
を使用してkaggle APIをインストールします
kaggle.json
ファイルを~/.kaggle
に移動します。これは、APIクライアントがトークンの存在を期待する場所です。
!mkdir -p ~/.kaggle !cp kaggle.json ~/.kaggle/
クライアントを使用して、!kaggle datasets list
などのデータセットにアクセスできるようになりました。
このプロセスのColab部分の完全なサンプルノートを次に示します。https://colab.research.google.com/drive/1DofKEdQYaXmDWBzuResXWWvxhLgDeVyl
この例では、kaggle.json
ファイル、Kaggle APIクライアントをアップロードし、Kaggleクライアントを使用してデータセットをダウンロードします。
APIを介してKaggleのデータセットにアクセスできる必要があります。この例では、競技用のデータセットのみがリストされています。次のコマンドでアクセスできるデータセットを確認できます。
kaggle datasets list
-sタグを追加してから、興味のある検索語を追加して、データセットを検索することもできます。これにより、犬に関するデータセットのリストが表示されます。
kaggle datasets list -s dogs
APIの詳細とその使用方法については、 documentation here をご覧ください。
お役に立てば幸いです! :)
ローカルマシンからデータセットをダウンロードおよびアップロードせずに、Google ColabでKaggle APIを直接使用するためのこのチュートリアルがあります。 Kaggle API + Colaboratory
this をご覧ください。
背後で公式のkaggle apiを使用しますが、プロセスを自動化するため、VMが削除されるたびに手動で再ダウンロードする必要はありません。また、Kaggle APIをColabで直接使用する際に直面した別の問題は、Kaggle APIトークンをGoogleドライブ経由で転送する手間でした。上記の方法でも同様に自動化されます。
免責事項:私はClouderizerの作成者の1人です。
これに対する一番上のレスポンスを組み合わせました Github Gist as Colab Implementation コードを直接コピーして使用できます。
ColabのKaggleからデータセットをインポートする方法
まず、あなたがしなければならないいくつかのこと:
kaggle.json
としてKaggle APIにアクセスするには、資格情報をダウンロードしてください# Install kaggle packages
!pip install -q kaggle
!pip install -q kaggle-cli
# Colab's file access feature
from google.colab import files
# Upload `kaggle.json` file
uploaded = files.upload()
# Retrieve uploaded file
# print results
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
# Then copy kaggle.json into the folder where the API expects to find it.
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!ls ~/.kaggle
動作するか確認してください!
#list competitions
!kaggle competitions list -s LANL-Earthquake-Prediction
KaggleからGoogle colabの競合データをダウンロードするには。私はグーグルコラボに取り組んでいますが、同じ問題を経験しています。しかし、私は2つのことをしました。
まず、国番号とともに携帯電話番号を登録する必要があります。次に、kaggleデータセットページで最後の送信をクリックする必要があります。次に、google colabのkaggle.upload kaggle.jsonからkaggle.jsonファイルをダウンロードします。その後、Google colabでこれらのコードを実行します。
!pip install -q kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle competitions download -c web-traffic-time-series-forecasting
まず、このコマンドを実行して、このcolabファイルの場所、実行方法を確認します。 !ls -d $PWD/*
/content/data /content/gdrive /content/models
と表示されます。つまり、現在のディレクトリはroot/content /です。作業ディレクトリ(pwd)は/ content /です。したがって、!ls
を実行すると、data gdrive models
と表示されます。ご参考までに、 ! colab内でLinuxコマンドを実行できます。
Googleドライブは/ contentフォルダーをクリーンアップし続けます。したがって、colabを使用するすべてのセッション、ダウンロードされたデータセット、kaggle jsonファイルはなくなります。そのため、プロセスを自動化することが重要です。そのため、毎回環境をセットアップするのではなく、コードの記述に集中できます。
独自のAPIキーを使用して、例としてcolabコードブロックでこれを実行します。 kaggle.jsonファイルを開きます。あなたはそれらを見つけるでしょう。
# Info on how to get your api key (kaggle.json) here: https://github.com/Kaggle/kaggle-api#api-credentials
!pip install kaggle
{"username":"seunghunsunmoonlee","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
!kaggle competitions download -c dog-breed-identification
os.chdir('/content/competitions/dog-breed-identification')
for file in os.listdir():
Zip_ref = zipfile.ZipFile(file, 'r')
Zip_ref.extractall()
Zip_ref.close()
次に、!ls
を再度実行します。必要なすべてのデータが表示されます。それが役に立てば幸い!
上記の手順(1〜6)の後、colabの特定の競合のデータセットを使用するには、次のコマンドを使用できます。
!kaggle大会のダウンロード-c elo-merchant-category-recommendation
(elo-merchant-category-recommendationは、コンテストの名前です。)