Views
No views yet
| File | Description |
|---|---|
kaggle_notebook.py | Complete Kaggle-ready pipeline — copy-paste into a Kaggle notebook with dual T4 GPUs and run. Includes all 7 phases: data prep → HP search → training → fine-tuning → WBF ensemble → evaluation → results export. |
prepare_data.py | Standalone data preparation script — downloads DAWN from HuggingFace, converts to YOLO format, augments minority classes, creates 60/20/20 split |
train_pipeline.py | Alternative pipeline for HuggingFace Jobs execution |
Input Image
├──→ YOLO11m ──→ Detections₁
├──→ YOLO11m_ft ──→ Detections₂
└──→ YOLO26m_ft ──→ Detections₃
│
┌─────┴─────┐
│ Tier 1 │ Per-class F1-based weights (static)
│ Tier 2 │ Per-image confidence modulation (dynamic)
│ Tier 3 │ Log-dampened count normalization
└─────┬─────┘
│
Weighted Boxes Fusion
│
Fused Detections| Class | Count | % |
|---|---|---|
| Car | 6,454 | 82.2% |
| Truck | 646 | 8.2% |
| Person | 477 | 6.1% |
| Bus | 161 | 2.1% |
| Motorcycle | 81 | 1.0% |
| Bicycle | 26 | 0.3% |
NoneType HP Search ErrorT01: failed — 'NoneType' object has no attribute 'results_dict'
Cause: model.train() returns None on silent crash (OOM, NaN loss)
Fix: Null-check before accessing results + bounded HP ranges + torch.cuda.empty_cache() between trials_thread.lock Pickling Errorensemble.pkl failed: cannot pickle '_thread.lock' object
Cause: YOLO objects contain CUDA contexts and thread locks
Fix: save_config() / load_config() using JSON — only serializes paths and weights, reconstructs YOLO objects on loadsqrt(count) normalization too aggressive → changed to log2(count)scores / scores.max() re-normalization destroyed weight signal → removed entirelyconf_alpha=0.3 caused over-modulation → reduced to 0.1conf_type='avg' ignored model weights → changed to 'box_and_model_avg'kaggle_notebook.py/kaggle/working/results/1@article{kenk2020dawn,
2 title={DAWN: Vehicle Detection in Adverse Weather Nature Dataset},
3 author={Kenk, Mourad Ambarka and Hassaballah, M.},
4 journal={arXiv preprint arXiv:2008.05402},
5 year={2020}
6}
7
8@article{solovyev2021wbf,
9 title={Weighted boxes fusion: Ensembling boxes from different object detection models},
10 author={Solovyev, Roman and Wang, Weimin and Gabruseva, Tatiana},
11 journal={Image and Vision Computing},
12 year={2021}
13}