How t1neo666/aaai25_mlc-nc works
This repository implements research code for long-tailed multi-label image classification, including model training and evaluation. The principal workflow loads labeled images, constructs a ResNet-based classifier with prototype/attention components, optimizes multi-label objectives, and evaluates predictions. Dataset-specific utilities and alternative model/loss modules are represented as capabilities, but their complete wiring is not visible in the sampled excerpts; the README provides only the project title, so some links are intentionally omitted.
Main entry points: train.py Training loop · get_dataset.py Dataset utilities · factory.py Model factory · get_voc.py VOC data
Components 20
Data preparation
- VOC data
src_files/data/get_voc.py - COCO data
src_files/data/get_coco.py - Dataset utilities
src_files/data/get_dataset.py - Long-tail sampling
src_files/data/sampler.py - Augmentation
src_files/data/extra_aug.py
Classifier
- Model factory
src_files/models/utils/factory.py - ResNet backbone
src_files/models/resnet.py - Attention classifier
src_files/attention/attention.py - Prototype classifier
src_files/attention/Proto_Classifiers.py - TResNet model
src_files/models/tresnet/tresnet.py
Training objectives
- Loss collection
src_files/loss_functions/losses.py - Asymmetric loss
src_files/loss_functions/aslloss.py - Multi-focal loss
src_files/loss_functions/mfloss.py - Prototype losses
src_files/loss_functions/prototypeloss.py
Training and evaluation
- Training loop
train.py - VOC validation
validate_voc.py - Inference
infer.py - Result analysis
analyze.py
Other components
- Researcher
- Labeled images
Connections 18
- Researcher → Training loop: starts training
- Labeled images → VOC data: loads annotations
- Labeled images → COCO data: loads annotations
- VOC data → Dataset utilities: provides samples
- COCO data → Dataset utilities: provides samples
- Dataset utilities → Long-tail sampling: supplies examples
- Training loop → Dataset utilities: loads data
- Training loop → Model factory: creates model
- Model factory → ResNet backbone: constructs backbone
- Model factory → Attention classifier: adds classifier
- Attention classifier → Prototype classifier: initializes prototypes
- Training loop → Loss collection: selects objective
- Training loop → Asymmetric loss: uses loss
- Training loop → Multi-focal loss: uses loss
- Training loop → Prototype losses: uses loss
- Training loop → VOC validation: evaluates model
- Researcher → Inference: requests predictions
- Researcher → Result analysis: reviews results