How maxzaragoza2a/deeplearning-benchmark-project works
This repository is a few-shot learning benchmark for fine-grained insect-wing classification. Its principal workflow indexes and preprocesses images, creates class-disjoint and labelled/unlabelled episodes, trains and evaluates PRWN using either frozen DINOv2 embeddings or a trainable Conv-4, then compares results. It also includes a separate NCA implementation and post-run analysis. The README documents ProtoNet as a benchmark control, including PRWN configurations with the random-walk term disabled. Some connections are supported only by the README or source-index references; unsampled implementation details are not inferred.
Main entry points: train_prwn.py DINOv2 PRWN run · train_prwn_conv4.py Conv-4 PRWN run · dataset.py Dataset index · evaluate_prwn.py PRWN evaluation
Components 17
Dataset and episodes
- Dataset index
src/data/dataset.py - Episode sampler
src/data/episodes.py
Embedding and methods
- DINOv2 embeddings
src/models/backbone.py - Conv-4 backbone
src/models/conv4.py - PRWN method
src/models/prwn.py - NCA model
scripts/nca_paper/model.py - NCA loss
scripts/nca_paper/loss.py
Training and evaluation
- Run configuration
src/utils/config.py - DINOv2 PRWN run
scripts/train_prwn.py - Conv-4 PRWN run
scripts/train_prwn_conv4.py - PRWN evaluation
scripts/evaluate_prwn.py - NCA training
scripts/nca_paper/train.py - NCA evaluation
scripts/nca_paper/evaluate.py
Benchmark analysis
- Result analysis
scripts/analyze_results.py
Other components
- Researcher
- Wing images
- Hugging Face model hub
Connections 24
- Researcher → DINOv2 PRWN run: starts run
scripts/train_prwn.py - Wing images → Dataset index: indexes images
src/data/dataset.py - DINOv2 PRWN run → Run configuration: loads settings
scripts/train_prwn.py - DINOv2 PRWN run → Dataset index: builds index
scripts/train_prwn.py - DINOv2 PRWN run → Episode sampler: splits classes
scripts/train_prwn.py - DINOv2 PRWN run → DINOv2 embeddings: extracts features
scripts/train_prwn.py - DINOv2 PRWN run → PRWN method: trains with
scripts/train_prwn.py - DINOv2 embeddings → Hugging Face model hub: loads checkpoint
src/models/backbone.py - Conv-4 PRWN run → Run configuration: loads settings
scripts/train_prwn_conv4.py - Conv-4 PRWN run → Dataset index: builds index
scripts/train_prwn_conv4.py - Conv-4 PRWN run → Episode sampler: splits classes
scripts/train_prwn_conv4.py - Conv-4 PRWN run → Conv-4 backbone: trains backbone
scripts/train_prwn_conv4.py - Conv-4 PRWN run → PRWN method: trains with
scripts/train_prwn_conv4.py - PRWN evaluation → Run configuration: loads settings
scripts/evaluate_prwn.py - PRWN evaluation → Dataset index: rebuilds index
scripts/evaluate_prwn.py - PRWN evaluation → DINOv2 embeddings: loads embeddings
scripts/evaluate_prwn.py - PRWN evaluation → DINOv2 PRWN run: uses evaluation
scripts/evaluate_prwn.py - NCA training → NCA model: trains model
scripts/nca_paper/train.py - NCA training → NCA loss: uses loss
scripts/nca_paper/train.py - NCA evaluation → NCA model: evaluates model
scripts/nca_paper/evaluate.py - Result analysis → Dataset index: rebuilds index
scripts/analyze_results.py - Result analysis → Episode sampler: replays episodes
scripts/analyze_results.py - Result analysis → PRWN method: replays predictions
scripts/analyze_results.py - Result analysis → Conv-4 backbone: compares backbone
scripts/analyze_results.py