Spaces:
Sleeping
Sleeping
Commit History
-
fix: pass ruff lint+format, clean README, remove stray script
Priya Monishafa0ce5b
-
fix: MobileNetV2 Round 2 overfitting -- Section 5 Round 3 prep
Priya Monisha27.4pp train/val gap. Root cause: 552 params/training-img at features[14:] unfreeze on 3,080 samples. Realistic R3 target: 68-74%. metrics.json: stale fast_mode artifact replaced with confirmed Colab Round 2 values (62.3%, 23ep). Realistic accuracy target documented. augmentor.py: RandomGrayscale(p=0.05) + RandomPerspective(scale=0.2,p=0.3) ColorJitter 0.2->0.3, rotation 15->20deg, ZoomOut (1.3)->(1.4) model_factory.py: get_model() dispatcher + _build_* internal functions MobileNet: full classifier replaced (Dropout 0.2->0.4) unfreeze_mobilenet_phase2: features[14:] slice -> enumerate idx>=16 ~1.23M unfrozen (401/img) vs 1.71M (552/img) Round 2 _build_resnet50: freeze ALL then replace fc (unambiguous ownership) Removed from API: freeze_resnet50_phase1, freeze_vgg16_phase1, unfreeze_vgg16_phase2, count_trainable_params notebook: MobileNet block rewritten AdamW replaces Adam; Phase 1 wd 1e-4->1e-3 Phase 2 backbone lr=1e-5 (was 1e-4) -- highest-impact change Ph…58027ad
-
section-5: fix all RCAs (BN stats, ZoomOut order, fc unfreeze, grad_clip, checkpoint format)
Priya Monisha4e27aff
-
fix: RandomZoomOut fill=128 (mid-grey) — black fill normalized to [-2.12,-2.04,-1.80] creates artificial boundary signal; mid-grey normalizes to ~0
Priya Monishafebce91 -
section-4: preprocessing + augmentation — verified end-to-end
Priya Monishasrc/data/preprocessor.py: - validate_yolo_annotations(): 1550 train + 375 val files, 13758 annotations all valid Fixed: assert <= 1.0 not < 1.0 (bbox_to_yolo clamps to min(1.0,...) so boundary values valid) - create_yolo_data_yaml(): absolute paths, works in terminal + Colab - verify_dataset_structure(): counts per split, detects image/label mismatches src/data/augmentor.py: - get_train_transforms(): flip, rotate±15, colorjitter, zoomout, resize 224, ToImage, Normalize(ImageNet) - get_eval_transforms(): resize + normalize only - denormalize(): for visualization - torch wrapped in try/except (local fbgemm.dll issue) notebooks/03_preprocessing.py: - Dataset verified: 2500 classification, 1925 detection, labels match images - YOLO annotations validated: 13758 annotations, all in valid range - data.yaml regenerated with current absolute paths - Augmented sample images saved to docs/figures/ - Tensor shapes confirmed: (3, 224, 224) float32, range ~[-2.1, 2.6] after ImageNet norm2ea8a2d