Kaggleへの投稿をGithub Actionsを使って自動化する
リスペクト元
はじめに
この記事を読むとできるようになること
git pushしてmergeするとGithub Actionsが走り、Kaggle Notebookが生成・動作するという流れの自動化。
この記事で説明すること
上記のKaggleへのサブミット自動化までの実現方法を主に記事で取り扱います。
逆に説明しないこととして、設定するパラメータの仕様等は参照URLを紹介するレベルに留めます。
なぜやるのか
「Gitでコード管理しているのに、KaggleのNotebook提出用に別のコードを用意するのが面倒だ」、KaggleのCode Competitionというルールの場合に発生する悩みだと思います。
Code Competitionについて簡単に説明すると、CSVなどのファイルを直接アップロードするのではなく、Notebookを利用してそこにファイル提出するまでのソースコードを書きそれを提出するという形式のコンペのことです。
これらの悩みを解消したのが前回の記事でしたが、今回はさらにサブミットも自動化すれば楽になるなということで思いつきました。
本題
自動化までに必要なこと
提出するコードを用意する
Github SecretsにAPI Tokenを設定
Github TemplateをCloneする
Github Templateのデフォルト設定を修正
Github Actionsのデフォルト設定を修正
提出するコードを用意する
Github Actions動作確認のため、はじめに提出するコードは簡単なアルゴリズムにしておくとすぐ結果が確認できます。
Github TemplateをCloneする
Github SecretsにAPI Tokenを設定
CloneしたリポジトリのGithub SecretsにKaggleAPIを利用するためのAPI Tokenを設定します。
Github Actionsで参照しているGithub Secretsをそれぞれ、KAGGLE_USERNAME、KAGGLE_KEYとしているのでそれに合うようにユーザ名とKeyを設定してください。
具体的な設定の方法は次のURLを参照してください。 Github Templateの設定を修正
修正点
easy_goldというフォルダ名を適当な名前に変更してください。またこのフォルダに提出用のコードを置いてください。
script_template.py内のeasy_goldの部分を変更した名前に修正してください。run('python easy_gold/main.py')となっていますが実行して欲しいpythonファイルを設定してください。
setup.py内のeasy_goldの部分を変更した名前に修正してください。
Github Actionsのデフォルト設定を修正
修正点
説明は以上になります。
最後に
サブミットが自動化されたKaggle Lifeを楽しんでください!
参考