Skip to content

yumizu-da/kaggle-template

Repository files navigation

kaggle-template

Kaggleコンペティション用のテンプレートリポジトリ

Environment

Dockerコンテナを起動

docker compose up -d --build

初回設定

以下の記事にならってVSCode上で開発を行い、Kaggle CLI 経由でデータをアップロードするようにします。kaggleページ上では基本的にはコードの提出のみを行います。

https://ho.lc/blog/kaggle_code_submission/

Note

以下の説明で不明点があれば、上記記事を参照してください。全てこちらに書かれています

1. kaggleAPIを取得し、.kaggle/kaggle.jsonに記載

この記事を参考にしました。体裁は.kaggel/kaggle_sample.jsonを参考にしてください

2. データセットをローカル環境にダウンロード

kaggleAPI経由でdataディレクトリにダウンロードします

kaggle competitions download -c eedi-mining-misconceptions-in-mathematics -p data && \
unzip data/eedi-mining-misconceptions-in-mathematics.zip -d data && \
rm data/eedi-mining-misconceptions-in-mathematics.zip

3. 実験コード管理設定(exp以下)

実験コードをkaggle Datasetにアップロードするための設定です

  1. exp内にdataset-metadata.jsonを用意し、適宜書き換え
  2. make init_expを実行し、実験コードのkaggle Datasetを作成

4. wheelパッケージ管理設定(deps以下)

pip installしたいパッケージを用意するnotebookを用意します
kaggle code competitionでは、インターネットOFF環境で提出します。そのためpip installする際は、事前にwheelファイルをダウンロードするnotebookを用意しておいて、kaggle上で実行しておく必要があります

  1. depsディレクトリにkernel-metadata.jsonを用意し、適宜書き換え
  2. deps.ipynbに必要なパッケージを追加
  3. make upload_depsを実行し、notebookを更新

5. submission用のコード管理(sub以下)

kaggleに予測結果を投稿するためのnotebookを用意します

  1. sub内にkernel-metadata.jsonを用意し、適宜書き換え
  2. make upload_subを実行し、submission用のkaggle Datasetをアップロード

コード提出手順

更新したexpdeps以下の内容を全てkaggleにアップロードし、最後にsub以下のnotebookを提出します

make submit

TODO

  • Dockerfileの整理
  • 各jsonファイルを汎用的にする

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published