This repository is the project framework for the COMP6258 reproducibility challenge.
Designing Concise ConvNets with Columnar Stages, ICLR 2025.
We plan to reproduce a restricted version of CoSNet on ImageNet-100.
Models:
- CoSNet-A0
- ResNet-18
- ConvNeXt-Tiny
Main metrics:
- Top-1 Accuracy
- Params
- FLOPs
- Latency / FPS
- Training and validation curves
This repository is a skeleton framework only.
Most Python files contain only TODO placeholders. Each member should complete their own assigned part.
| Area | Owner | Files |
|---|---|---|
| CoSNet-A0 | Member A | src/models/cosnet.py |
| ResNet-18 baseline | Member A | src/models/resnet.py, configs/resnet18.yaml |
| Training pipeline | Member A | src/train.py, src/evaluate.py, src/datasets.py, src/utils.py |
| ConvNeXt-Tiny baseline | Member B | src/models/convnext.py, configs/convnext_tiny.yaml |
| Params / FLOPs | Member C | src/complexity.py |
| Latency / FPS | Member C | src/latency.py |
| Plotting and figures | Member C | src/plot_results.py, src/cam.py |
| Report writing | All members | report/paper.tex |
data/imagenet100/
├── train/
│ ├── class_001/
│ ├── class_002/
│ └── ...
└── val/
├── class_001/
├── class_002/
└── ...
All model training logs should use:
epoch,train_loss,val_loss,train_acc,val_acc,lr,time
Example:
epoch,train_loss,val_loss,train_acc,val_acc,lr,time
0,4.52,4.31,3.2,4.1,0.001,320
1,4.20,4.05,6.8,8.4,0.00099,318python -m pip install -r requirements.txtTrain CoSNet-A0:
python src/train.py --config configs/cosnet_a0.yamlTrain ResNet-18:
python src/train.py --config configs/resnet18.yamlTrain ConvNeXt-Tiny:
python src/train.py --config configs/convnext_tiny.yamlMeasure complexity:
python src/complexity.py --model cosnet_a0 --config configs/cosnet_a0.yamlMeasure latency:
python src/latency.py --model cosnet_a0 --config configs/cosnet_a0.yamlPlot results:
python src/plot_results.py --input results/logs --output results/figures