Jaguar Re-Identification - Model Artifacts

Kaggle "Jaguar Re-Identification Challenge" コンペティションの学習済みモデル重み・サブミッション・設定ファイルのバックアップ。

Best Score

Public LB 0.948 (exp004 + exp005 weighted ensemble, w=0.7/0.3)

Contents

Model Weights (weights/)

Experiment Description LB Score File Size
exp004/000 EVA-02-L-448 + GeM + ArcFace + Jaccard Rerank + Optimal Blend (10ep) 0.946 weights/exp004_0938_optimal_blending/000/best_model.pth ~1.2GB
exp005/000 Pseudo-Labeling fine-tune on exp004 (5ep) 0.937 weights/exp005_pseudo_labeling/000/best_model_finetuned.pth ~1.2GB
exp006/001 DINOv2 ViT-L-518 + GeM + ArcFace (20ep) 0.925 weights/exp006_dinov2/001/best_model.pth ~1.2GB

Submissions (submissions/)

各実験の推論結果 CSV (baseline, TTA, rerank, optimal_blend)。

Configs (configs/)

各実験の Hydra 設定ファイル (config.yaml + exp/*.yaml)。

Docs & Logs (docs/, logs/)

  • docs/experiments.md: 全実験結果・知見集約
  • docs/TODO.md: タスク管理
  • docs/KAGGLE_DIRECTION.md: コンペ固有ワークフロー
  • logs/Log_*.md: 日別開発ログ

Experiment Summary

Experiment Backbone Epochs Best Loss Accuracy LB
exp002/000 MegaDescriptor-B-224 25 - - 0.781
exp003/000 EVA-02-L-448 10 - - 0.921
exp003/001 EVA-02-L-448 20 0.3035 96.78% 0.913
exp004/000 EVA-02-L-448 10 0.1355 98.47% 0.946
exp004/001 EVA-02-L-448 20 0.0481 99.42% 0.945
exp005/000 EVA-02-L-448 (PL) 5 0.0731 99.20% 0.937
exp006/000 DINOv2-L-518 10 0.3982 95.14% 0.897
exp006/001 DINOv2-L-518 20 0.0827 98.94% 0.925
exp007/000 EVA-02-L-448 (LwLR+W+EMA) 10 4.4556 48.94% -
exp007/001 EVA-02-L-448 (LwLR0.95+W+EMA) 10 0.3466 95.56% -
exp007/002 EVA-02-L-448 (W+EMA) 10 0.1904 97.83% -
Ensemble exp004+exp005 (w0.7/0.3) - - - 0.948

Key Insights

  • EVA-02 Large 448px が最も効果的なバックボーン (MegaDescriptor-B-224 比 LB +0.140)
  • Jaccard Re-ranking + Optimal Blending (20% raw + 80% reranked) が後処理として有効
  • 20ep 延長学習は微小改善〜悪化: exp003は悪化 (0.921→0.913)、exp004はほぼ同等 (0.946→0.945)
  • Layer-wise LR Decay は EVA-02 Large に有害: decay_rate=0.95 でも全層同一LR に劣る
  • Warmup + EMA は微小劣化: 10ep では warmup の序盤学習遅延を回収しきれない

Reproduction

Code

git clone git@github.com:nawta/Jaguar_Re_Identification.git
cd Jaguar_Re_Identification
git checkout lb-0.948

Environment

# Python environment
uv sync

# or Docker
make build && make bash

Data

Competition data is NOT included. Download from Kaggle:

kaggle competitions download -c jaguar-re-id
unzip jaguar-re-id.zip -d input/

Training

# Best single model (exp004)
uv run python -m experiments.exp004_0938_optimal_blending.run exp=000

# Pseudo-labeling (exp005, requires exp004 weights)
uv run python -m experiments.exp005_pseudo_labeling.run exp=000

# DINOv2 (exp006)
uv run python -m experiments.exp006_dinov2.run exp=000

Ensemble (LB 0.948)

exp004 と exp005 の submission.csv を weighted average (w=0.7/0.3) で結合:

import pandas as pd
df004 = pd.read_csv("output/experiments/exp004_0938_optimal_blending/000/submission.csv")
df005 = pd.read_csv("output/experiments/exp005_pseudo_labeling/000/submission.csv")
df_ens = df004.copy()
df_ens["score"] = 0.7 * df004["score"] + 0.3 * df005["score"]
df_ens.to_csv("submission_ensemble.csv", index=False)

Not Included

  • Competition input data (input/, ~17GB): Re-download via kaggle competitions download -c jaguar-re-id
  • Inferior model weights: exp002 (LB 0.781), exp003 (LB 0.921), exp007 (exp004 以下)
  • Python virtual environment (.venv/): Recreate via uv sync
  • wandb logs: Synced to wandb.ai/nawta1998/jaguar-re-identification
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support