How yewinhtet74/sdm-retrieval works
SDM-Retrieval is a research workflow for comparing training-free compression methods on frozen CLIP image and caption embeddings. Users configure a Flickr30k run, extract or load aligned features, optionally select a fixed training subset to fit a reducer, then evaluate bidirectional retrieval quality and FAISS latency/storage and save results. The graph preserves the documented baseline, PCA, SVD and SDM branches, plus diagnostics. Edges reflect the supplied excerpts, SOURCE INDEX references and README; unsampled data-loading and orchestration details are not inferred beyond those sources.
Main entry points: evaluate.py Evaluation orchestration · features.py Feature extraction · outputs Cached embeddings · reducers.py Reducer methods
Components 15
Data and configuration
- Run configuration
src/config.py - Flickr30k data
- Dataset loading
src/data.py
Embedding preparation
- Frozen CLIP
src/model.py - Feature extraction
src/features.py - Cached embeddings
outputs
Compression methods
- Training subset
src/subset.py - Reducer methods
src/reducers.py - SDM cluster data
clusters
Retrieval evaluation
- Evaluation orchestration
src/evaluate.py - Recall metrics
src/metrics.py - FAISS benchmarks
src/retrieval.py - I2T diagnostics
src/diagnose_i2t.py - Evaluation results
outputs/results
Other components
- Researcher
Connections 16
- Researcher → Run configuration: configures run
README.md - Researcher → Flickr30k data: provides dataset
README.md - Run configuration → Dataset loading: configures loading
- Flickr30k data → Dataset loading: supplies records
README.md - Dataset loading → Feature extraction: builds loaders
src/features.py - Feature extraction → Frozen CLIP: loads encoder
src/features.py - Feature extraction → Cached embeddings: writes embeddings
src/features.py - Cached embeddings → Training subset: supplies training data
- Training subset → Reducer methods: fits methods
scripts/03_eval_reducers.py - Cached embeddings → Evaluation orchestration: supplies evaluation features
src/evaluate.py - Reducer methods → Evaluation orchestration: transforms embeddings
src/evaluate.py - Evaluation orchestration → Recall metrics: computes recall
src/evaluate.py - Evaluation orchestration → FAISS benchmarks: benchmarks index
src/evaluate.py - Evaluation orchestration → Evaluation results: saves result table
src/evaluate.py - Researcher → I2T diagnostics: requests diagnosis
- Reducer methods → SDM cluster data: uses SDM clusters