実験コードを読み取り、Kaggle 用の自己完結型 inference notebook を生成する。
実験の model.py / data.py / inference.py / config.yaml を読み取り、 Kaggle Notebooks 環境で動作する自己完結型の inference notebook を生成する。
src.* への依存なし: すべてのコードを notebook 内にインライン化するINPUT_DIR 以下(sample_submission.csv 等)、MODEL_DIR 以下(fold0/{ckpt} 等)のサブパスはローカルの構造と同一forward() のみの nn.Module として定義。Lightning checkpoint から state_dict を読み込む対象実験を特定する
src/exp*/ を Glob で検索し、ユーザーに選択肢を提示実験コードを読み取る(すべて Read で内容を把握すること)
src/{exp_name}/README.md — 実験の目的・仮説・工夫点の把握src/{exp_name}/model.py — モデルアーキテクチャの把握src/{exp_name}/data.py — 推論に必要なデータ処理クラス/関数の特定src/{exp_name}/inference.py — 推論フロー、後処理の確認src/{exp_name}/config/config.yaml — モデル・データのハイパーパラメータの取得実験の工夫点を整理する
チェックポイント情報の確認
src/{exp_name}/output/{run_name}/ 配下のチェックポイントファイル名を確認= が除去される場合があることに注意ユーザーに以下を確認する:
Kaggle コンペデータのパス
/kaggle/input/competitions/{competition-slug}Kaggle モデル Dataset のパス
/kaggle/input/datasets/{user}/{comp_slug}-{exp_name}dataset-metadata.json が存在すればそこから slug を取得Notebook 先頭セルのパス設定パターン:
from pathlib import Path
# ==== Path Configuration ====
# Kaggle 環境のパス(Notebook 作成後に確認・修正してください)
KAGGLE_COMP_DIR = "/kaggle/input/competitions/{competition-slug}"
KAGGLE_MODEL_DIR = "/kaggle/input/datasets/{user}/{slug}"
# 自動検出(変更不要)
if Path("/kaggle/input").exists():
INPUT_DIR = Path(KAGGLE_COMP_DIR)
MODEL_DIR = Path(KAGGLE_MODEL_DIR)
OUTPUT_DIR = Path("/kaggle/working")