Google ColabでSIGNATEのコンペに取り組みたい
SIGNATE CLIを使ってデータセットをダウンロードしたいが、
- Google Driveにsignate.jsonを保存して読み取らせる
- ファイル選択ダイアログでsignate.jsonを選択してアップロードする
のはクリック数が多くて面倒くさい
Google Colabのシークレット機能を利用してAPIの認証情報を取り込んでAPIを利用することにより少ないクリック数でSIGNATE CLIを利用できるようにする。
事前準備
シークレットにAPIの認証情報をSIGNATE_API_TOKEN
という名前で登録する
{"api-token":"ここの部分の文字列を`SIGNATE_API_TOKEN`という名前のシークレットの値に登録する"}
コード
1. SIGNATEのインストール
!pip install signate
2. 認証情報の設定
import os
import json
from google.colab import userdata
signate_api_token = userdata.get('SIGNATE_API_TOKEN')
signate_json_path = "/root/.signate/signate.json"
os.makedirs(os.path.dirname(signate_json_path), exist_ok=True)
signate_key = { "api-token" : signate_api_token }
with open(signate_json_path, "w") as f:
f.write(json.dumps(signate_key))
作成したノートブック
参考にしたノートブック
Google Colaboratoryを利用してSIGNATEコンペ参加する際のチュートリアルノートブック
参考にしたQiita記事