近年の Kaggle では、参加者が Kaggle の Code 環境上でソースコードを実行する「code competitions」形式でのコンペ開催が増えています。実行時間や処理内容など諸条件はコンペごとに異なります*1が、モデルの学習を事前に実施し、評価用データセットに対する推論コードのみを提出する形式が一般的です。不正対策などの要因で、インターネットの利用は禁じられている場合が多いです。本記事では、この形式のコンペで、処理済ファイルを使ったり、ライブラリをインストールしたりする方法を紹介します。
処理済ファイルの利用
推論部分のみのコードを提出する形式の場合、学習済モデルや前処理済ファイルなどは、Kaggle の datasets 機能を用いて notebook の input に追加できます。過去のコンペで公開されている notebook が参考になります。datasets には公開設定があるので、コンペ開催中は private に設定しておくと良いでしょう。
ライブラリのインストール
Kaggle の Code 環境上 にはあらかじめ機械学習の処理で頻繁に使われるライブラリがインストールされています*2。コンペによってはインストールされていない特別なライブラリを使いたい場合がありますが、インターネットが使えない状況では notebook 上で pip install することができません。画像やテキストを題材にしたコンペでは、ニューラルネットワークのための事前学習済の重みを読み込みたい場合もあります。
このような時は、以下の投稿を参考にインストールに必要なファイルを含む datasets を input に追加し、notebook から直接実行します。有名なライブラリの場合は既に他の参加者が datasets として保存・公開している場合もあります。参加しているコンペや類似コンペの公開 notebook を確認すると良いでしょう。
おわりに
本記事では、code competitions での datasets の利用方法を紹介しました。
*1:Overview の Code Requirements のページを確認しましょう