Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Active Learning Sandbox

A modular sandbox for experimenting with active learning algorithms. Each algorithm lives in lib/ as a standalone module, and run.py provides a shared testbed with synthetic data and embedding visualisation.

Project Structure

project/
├── lib/
│   ├── __init__.py       # register algorithms here
│   ├── max_herding.py    # MaxHerding (Bae et al., ECCV 2024)
│   ├── prob_cover.py     # ProbCover (Yehuda et al., NeurIPS 2022)
│   └── ...               # add new algorithms alongside
└── run.py                # synthetic data + algorithm selection + visualisation

Quick Start

1. Install dependencies

pip install numpy pandas scikit-learn matplotlib

2. Run the demo

python run.py

Outputs selection logs to the console and saves .png.

Synthetic Test Data

run.py builds a feature pool without requiring any real dataset:

  • 100 samples drawn from 4 Gaussian clusters in 64-D space (centre spread ~2.0, within-cluster std 0.35)
  • All vectors L2-normalised onto the unit hypersphere, mimicking self-supervised features
  • 50 samples randomly designated as the initial labelled set; the rest form the unlabelled pool
  • δ is hyperparameter of ProbCover — tune it to match the scale of your feature space

Swap in your own feature file to run on real data — the rest of the pipeline stays the same.

Results

About

Implementation of ProbCover(NeurIPS'22) and MaxHerding(ECCV'24)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages