How eyalmichaeli/saspa-aug works
SaSPA generates structure- and subject-preserving image augmentations, filters them into a per-image mapping, and uses that mapping during fine-grained classifier training. The README documents prompt preparation, multiple dataset implementations, baseline checkpoints, and optional experiment monitoring. Source excerpts confirm generation/filtering and augmentation-aware dataset behavior; some internal wiring and the detailed filtering implementation were not fully sampled, so uncertain links are omitted.
Main entry points: train.py Training workflow · run_aug.py Generate augmentations · datasets Dataset implementations · utils.py Filter and map
Components 20
Prompted augmentation
- Prompt assets
prompts_engineering - Prompt preparation
prompts_engineering - Generate augmentations
run_aug/run_aug.py - Real-guidance variant
run_aug/run_aug_real_guidance.py
Filtering and mapping
- Generated images
- Filter and map
all_utils/utils.py - Augmentation mapping
Classifier training
- Training workflow
fgvc/train.py - Dataset hyperparameters
fgvc/configs - Training losses
fgvc/losses.py - Metrics and checkpoints
fgvc/util.py - Trained checkpoint
Datasets and models
- Dataset selection
fgvc/datasets - Dataset implementations
fgvc/datasets - Augmentation-aware loader
fgvc/datasets/aug_wrapper_dataset.py - WSDAN CAL model
fgvc/models/cal.py
Other components
- Researcher
- Diffusion pipeline
- Weights & Biases
- Fine-grained datasets
Connections 23
- Researcher → Prompt preparation: prepares prompts
- Prompt assets → Generate augmentations: guides generation
- Prompt preparation → Prompt assets: produces prompts
- Researcher → Generate augmentations: starts generation
- Generate augmentations → Diffusion pipeline: invokes pipeline
- Real-guidance variant → Diffusion pipeline: invokes pipeline
- Generate augmentations → Generated images: writes images
- Generate augmentations → Filter and map: creates filtered mapping
- Generated images → Filter and map: reads candidates
- Filter and map → Augmentation mapping: writes mapping
- Researcher → Training workflow: starts training
- Training workflow → Dataset hyperparameters: loads settings
- Training workflow → Dataset selection: requests datasets
- Dataset selection → Dataset implementations: selects implementation
- Dataset implementations → Fine-grained datasets: reads samples
- Dataset implementations → Augmentation-aware loader: uses wrapper
- Training workflow → Augmentation mapping: passes mapping path
- Augmentation-aware loader → Augmentation mapping: reads mapping
- Training workflow → WSDAN CAL model: trains model
- Training workflow → Training losses: uses objectives
- Training workflow → Metrics and checkpoints: tracks and saves
- Metrics and checkpoints → Trained checkpoint: writes checkpoint
- Training workflow → Weights & Biases: logs experiments