Active Learning with PyTorch
This implementation is based on "Human-in-the-Loop Machine Learning: Active learning and annotation for human-centered AI". official repository: URL
jupyter==1.0.0
matplotlib==3.5.1
numpy==1.22.3
pandas==1.4.2
Pillow==9.1.0
scikit-learn==1.0.2
scipy==1.8.0
torch==1.10.1
torchmetrics==0.8.1
torchvision==0.11.2
python uncertainty_sampling.py --algorithm {least,margin,ratio,entropy,montecarlo} --data {moons,circles,gaussian,blobs}
- algorithm
- least: Least condidence sampling
- margin: Margin of confidence sampling
- ratio: Ratio of confidence sampling
- entropy: Entropy-based sampling
- montecarlo: Monte Carlo dropout sampling
- data
- moons: sklearn.datasets.make_moons
- circles: sklearn.datasets.make_circles
- gaussian: sklearn.datasets.make_gaussian_quantiles
- blobs: sklearn.datasets.make_blobs
Entropy-based sampling & make_gaussian_quantiles dataset
Monte Carlo dropout sampling & make_moons dataset
python diversity_sampling.py --algorithm {outlier,cluster,random} --data {moons,circles,gaussian,blobs}
- algorithm
- outlier: Model-based outlier sampling
- cluster: Cluster-based sampling
- random: Random sampling
- data
- moons: sklearn.datasets.make_moons
- circles: sklearn.datasets.make_circles
- gaussian: sklearn.datasets.make_gaussian_quantiles
- blobs: sklearn.datasets.make_blobs
Model-based outlier sampling & make_gaussian_quantiles dataset
Cluster-based sampling & make_moons dataset
python least_cluster_sampling.py --data {moons,circles,gaussian,blobs}
python margin_outlier_sampling.py --data {moons,circles,gaussian,blobs}
python cluster_entropy_sampling.py --data {moons,circles,gaussian,blobs}
python least_cluster_sampling.py --data {moons,circles,gaussian,blobs}
python least_cluster_sampling.py --data {moons,circles,gaussian,blobs} --adaptive