David Madras, Elliot Creager, Toni Pitassi, Richard Zemel https://arxiv.org/abs/1802.06309
Code represents equal contribution with David Madras. Thanks to Jake Snell and James Lucas for contributing the experiment sweep code.
mkdir ~/venv
python3 -m venv ~/venv/laftr
where python3
points to python 3.6.X. Then
source ~/venv/laftr/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
or
pip install -r requirements-gpu.txt
for GPU support
source simple_example.sh
The bash script first trains LAFTR and then evaluates by training a naive classifier on the LAFTR representations (encoder outputs). See the paper for further details.
python src/generate_sweep.py sweeps/small_sweep_adult/sweep.json
source sweeps/small_sweep_adult/command.sh
The above script is a small sweep which only trains for a few epochs.
It is basically just for making sure everything runs smoothly.
For a bigger sweep call src/generate_sweep
with sweeps/full_sweep_adult/sweep.json
, or design your own sweep config.
The (post-processed) adult dataset is provided in data/adult/adult.npz