How aerovilab-ahu/lwganet works
LWGANet is a PyTorch remote-sensing vision repository spanning image classification, oriented object detection, semantic segmentation, and change detection. Users prepare task-specific imagery and labels, configure a model, then train or run inference to obtain class, object, mask, or change predictions. The shared architectural idea is the lightweight LWGANet backbone, while each task has its own data and model stack. The graph preserves documented task capabilities; some subsystem internals are unsampled, so only evidenced or README-documented connections are shown.
Main entry points: cfg.py Task configuration · train.py A2Net training · main.py CLAFA training entry · train_supervision.py Segmentation training
Components 33
Shared Backbone
- LWGANet models
classification/models
Classification
- Classifier training
classification/train.py - Classification data utilities
classification/utils.py - Alternative backbones
classification/models - EdgeNeXt blocks
classification/models/edgenext - Dataset splitting
classification/split_datasets/split_train_val_dataset.py
Oriented Detection
- Detection training entry
detection/tools/train.py - Train and inference APIs
detection/mmrotate/apis - Rotated datasets
detection/mmrotate/datasets - Detector architectures
detection/mmrotate/models/detectors - LWGANet detector backbone
detection/mmrotate/models/backbones/lwganet.py - Detection heads
detection/mmrotate/models/dense_heads - Rotated-box utilities
detection/mmrotate/core - Patch inference
detection/mmrotate/apis/inference.py
Semantic Segmentation
- Segmentation training
segmentation/train_supervision.py - Task configuration
segmentation/tools/cfg.py - Segmentation datasets
segmentation/geoseg/datasets - Dataset transforms
segmentation/geoseg/datasets/transform.py - Segmentation models
segmentation/geoseg/models - UNetFormer model
segmentation/geoseg/models/UNetFormer.py - Segmentation losses
segmentation/geoseg/losses - Large-image inference
segmentation/inference_huge_image.py - UAVid inference
segmentation/inference_uavid.py
Change Detection
- A2Net training
change_detection/A2Net_LWGANet/train.py - A2Net dataset
change_detection/A2Net_LWGANet/dataset.py - A2Net transforms
change_detection/A2Net_LWGANet/Transforms.py - A2Net model family
change_detection/A2Net_LWGANet/models - CLAFA training entry
change_detection/CLAFA_LWGANet/main.py - CLAFA dataset
change_detection/CLAFA_LWGANet/data/cd_dataset.py - CLAFA model factory
change_detection/CLAFA_LWGANet/model/create_model.py - CLAFA LWGANet backbone
change_detection/CLAFA_LWGANet/model/backbone/lwganet.py - Change metrics
change_detection/CLAFA_LWGANet/util/metric_tool.py
Other components
- Researcher
Connections 29
- Researcher → Classifier training: trains classifier
README.md - Researcher → Detection training entry: trains detector
README.md - Researcher → Segmentation training: trains segmenter
README.md - Researcher → A2Net training: trains change model
README.md - Researcher → CLAFA training entry: trains change model
README.md - Classifier training → Classification data utilities: uses utilities
classification/train.py - Classification data utilities → LWGANet models: selects backbone
classification/utils.py - Classification data utilities → Alternative backbones: selects models
classification/utils.py - EdgeNeXt blocks → Alternative backbones: implements backbone
classification/models/edgenext/edgenext.py - Detection training entry → Train and inference APIs: uses APIs
detection/tools/train.py - Train and inference APIs → Rotated-box utilities: imports utilities
detection/mmrotate/apis/inference.py - Patch inference → Rotated-box utilities: merges patches
detection/mmrotate/apis/inference.py - LWGANet detector backbone → LWGANet models: implements backbone
- Segmentation training → Task configuration: loads configuration
segmentation/train_supervision.py - Task configuration → Segmentation datasets: configures datasets
- Task configuration → UNetFormer model: configures model
- Task configuration → Segmentation losses: configures losses
- Segmentation datasets → Dataset transforms: uses transforms
segmentation/geoseg/datasets/uavid_dataset.py - Large-image inference → Task configuration: loads configuration
segmentation/inference_huge_image.py - Large-image inference → Segmentation training: loads trained model
segmentation/inference_huge_image.py - UAVid inference → Task configuration: loads configuration
segmentation/inference_uavid.py - UAVid inference → Segmentation training: loads trained model
segmentation/inference_uavid.py - A2Net training → A2Net dataset: loads data
change_detection/A2Net_LWGANet/train.py - A2Net training → A2Net transforms: applies transforms
change_detection/A2Net_LWGANet/train.py - A2Net training → A2Net model family: uses model
change_detection/A2Net_LWGANet/train.py - CLAFA training entry → CLAFA dataset: loads data
change_detection/CLAFA_LWGANet/main.py - CLAFA training entry → CLAFA model factory: creates model
change_detection/CLAFA_LWGANet/main.py - CLAFA training entry → Change metrics: reports metrics
change_detection/CLAFA_LWGANet/main.py - CLAFA model factory → CLAFA LWGANet backbone: builds network
change_detection/CLAFA_LWGANet/model/create_model.py