Skip to content

Code repository for the robust active label correction paper.

Notifications You must be signed in to change notification settings

kremerj/relabeling

Repository files navigation

Robust Active Label Correction

This is the code repository complementing the paper

Jan Kremer, Fei Sha, and Christian Igel. Robust Active Label Correction. PMLR: Volume 84 (AISTATS), 2018

@inproceedings{Kremer18,
  author    = {J. Kremer and F. Sha and C. Igel},
  title     = {Robust Active Label Correction},
  booktitle = {Proceedings of the 21st International Conference on Artificial Intelligence and Statistics},
  series    = {Proceedings of Machine Learning Research},
  year      = 2018,
  volume    = 84,
  publisher = {PMLR}
}

Please cite us if you use any of the code provided here. All experiments from the paper can be reproduced from this repository. We use Python 3 and tensorflow 1.4. You can create and activate the conda environment by running

conda env create --file environment/relabeling.yml
source activate relabeling

or if you have GPU support

conda env create --file environment/relabeling-gpu.yml
source activate relabeling-gpu

To get the necessary data and the pretrained model weights for the CNN experiment, run

sh scripts/fetch_model.sh

and get the data (images and annotions) from http://bit.ly/2Duy6nK and should be unpacked into data/baidu.

The necessary Cython code can be compiled by calling

sh scripts/compile.sh

The logistic regression experiments can be reproduced by calling

sh scripts/relabeling.sh

The results can be found in output/experiment/std.

The CNN experiments can be reproduced by calling

sh scripts/relabeling_deep.sh

The results can be found in output/experiment/deep.

All plots can be generated by calling

sh scripts/generate_plots.sh

The figures can be found in output/experiment/std/figures for the logistic regression experiments and in output/experiment/deep/figures for the CNN experiment.

A single experiment can be run by calling

python relabeling.py

The command-line help should guide you regarding available options.