How razaxq/frecs-net works
FReCS-Net is a Python research system for joint chest-X-ray and description segmentation. Its primary workflow reads paired images, masks and text, trains a configured LViT-derived FSDR/RACE model, selects checkpoints by validation IoU, then evaluates a matched checkpoint and exports segmentation metrics. The graph highlights the documented FSDR and RACE branches, training/evaluation and experiment configuration. Some subsystem wiring is inferred only from README-level descriptions because source excerpts are partial; uncertain call edges are omitted.
Main entry points: LViT.py LViT encoder-decoder · train_model.py Training entry · export_validation_metrics.py Validation metrics · export_stage1_metrics.py Stage metrics export
Components 20
Data input
- Dataset loading
Load_Dataset.py
Segmentation model
- LViT encoder-decoder
nets/LViT.py - Vision transformer
nets/Vit.py - FSDR refinement
nets/fsdr.py - Frequency refinement
nets/eppa.py - RACE evidence routing
nets/race_fuse.py - RACE auxiliary objective
nets/race_pe.py - Text features
nets/textlevel.py
Training and selection
- Training entry
train_model.py - Epoch training
Train_one_epoch.py - Checkpoint selection
checkpoint_selection.py
Evaluation
- Validation metrics
tools/export_validation_metrics.py - Stage metrics export
tools/export_stage1_metrics.py - Metric results
Experiment setup
- Run configuration
Config.py - Experiment profiles
paper_experiments.py - Training recipe
training_recipe.py
Other components
- Researcher
- QaTa-COV19 data
- CXR-BERT weights
Connections 27
- Researcher → Training entry: starts training
- Researcher → Validation metrics: requests evaluation
- QaTa-COV19 data → Dataset loading: supplies samples
- Dataset loading → Training entry: provides batches
- Run configuration → Training entry: configures run
- Experiment profiles → Run configuration: selects profile
- Training recipe → Training entry: configures schedule
- Training entry → CXR-BERT weights: loads text encoder
- Training entry → LViT encoder-decoder: constructs model
- LViT encoder-decoder → Vision transformer: encodes image
- LViT encoder-decoder → FSDR refinement: refines features
- LViT encoder-decoder → Frequency refinement: uses frequency refinement
- LViT encoder-decoder → RACE evidence routing: routes evidence
- LViT encoder-decoder → Text features: encodes description
- RACE evidence routing → RACE auxiliary objective: supports auxiliary supervision
- Training entry → Epoch training: runs epochs
- Epoch training → LViT encoder-decoder: predicts masks
- Training entry → Checkpoint selection: selects best checkpoint
- Checkpoint selection → Validation metrics: provides checkpoint
- Researcher → Stage metrics export: requests registered evaluation
- Validation metrics → Dataset loading: loads evaluation split
- Stage metrics export → Dataset loading: loads authorized split
- Validation metrics → LViT encoder-decoder: runs inference
- Stage metrics export → LViT encoder-decoder: runs inference
- Validation metrics → Metric results: exports metrics
- Stage metrics export → Metric results: exports metrics
- Metric results → Researcher: reports scores