
Code for the paper: "Fast, Accurate, and Simple Models for Tabular Data via Augmented Distillation"

Code is separated into the following modules (described below):
autogluon, autogluon_utils, SelfAttentionGibbsSampler


autogluon: A fork of the AutoGluon AutoML github library where we have modified each model to be adapted for distillation. This contains our core distillation code, including all the various augmentation/distillation strategies. Particular files of interest include: 
autogluon/autogluon/utils/tabular/ml/trainer/abstract_trainer.py
autogluon/autogluon/utils/tabular/ml/augmentation/distill_utils.py


autogluon_utils: Python package with functions to use autogluon for FAST-DAD distillation benchmarking experiments on a fleet of AWS EC2 instances.

Example of how we run distillation on one dataset is in file:
autogluon_utils/benchmarking/distill_benchmark/run_dataset.py

Applications of auto-sklearn and H2O-AutoML are in folder: 
autogluon_utils/benchmarking/distill_benchmark/baselines/


SelfAttentionGibbsSampler: Functions implementing our pseudolikelihood self-attention network (main.py) and corresponding Gibbs sampling procedure (algs/brt.py).