How fcdl94/fss works
This repository implements prototype-based incremental few-shot semantic segmentation (PIFS) experiments. The main workflow configures a task, loads and augments labeled VOC or COCO data, then trains an expanded segmentation model using few-shot prototype initialization and, where configured, distillation to limit forgetting. Evaluation computes segmentation metrics and logs results. The graph emphasizes the documented training workflow and sampled trainer, loss, and metric code; wiring for unsampled dataset variants and optional methods is kept conservative.
Main entry points: run.py Training runner · dataset.py Dataset interface · segmentation_module.py Segmentation model · trainer.py Trainer
Components 24
Experiment workflow
- Training runner
run.py - Run options
argparser.py - Task definition
task.py
Data pipeline
- Dataset interface
dataset/dataset.py - VOC dataset
dataset/voc.py - COCO dataset
dataset/coco.py - ADE dataset
dataset/ade.py - Cityscapes dataset
dataset/cityscapes.py - Image transforms
dataset/transform.py - Data sampling
dataset/sampler.py
Incremental learning
- Trainer
methods/trainer.py - Method variants
methods/imprinting.py - Segmentation model
methods/segmentation_module.py - Feature backbones
models/resnet.py - DeepLab head
modules/deeplab.py - Classifiers
modules/classifier.py - Batch renormalization
modules/custom_bn.py - Training losses
utils/loss.py
Evaluation and reporting
- Segmentation metrics
metrics/stream_metrics.py - Experiment logger
utils/logger.py
Other components
- Experimenter
- Image and labels
- Experiment outputs
- ImageNet weights
Connections 27
- Experimenter → Training runner: starts run
- Training runner → Run options: reads options
- Training runner → Task definition: configures task
- Training runner → Dataset interface: builds loaders
- Dataset interface → VOC dataset: selects dataset
- Dataset interface → COCO dataset: selects dataset
- Dataset interface → ADE dataset: selects dataset
- Dataset interface → Cityscapes dataset: selects dataset
- VOC dataset → Image and labels: reads samples
- COCO dataset → Image and labels: reads samples
- ADE dataset → Image and labels: reads samples
- Cityscapes dataset → Image and labels: reads samples
- Dataset interface → Image transforms: transforms samples
- Training runner → Data sampling: distributes batches
- Training runner → Trainer: trains model
- Method variants → Trainer: extends training
- Trainer → Segmentation model: constructs model
- Segmentation model → Feature backbones: extracts features
- Segmentation model → DeepLab head: builds head
- Segmentation model → Classifiers: attaches classifier
- Feature backbones → Batch renormalization: normalizes features
- Trainer → Training losses: computes objectives
- Training runner → Segmentation metrics: evaluates predictions
- Training runner → Experiment logger: records run
- Segmentation metrics → Experiment logger: reports scores
- Experiment logger → Experiment outputs: writes results
- ImageNet weights → Segmentation model: initializes weights