We provide the code to execute our ResNet-50 experiment.

Initial setup:
1: You will need two environments, one for training the ImageNet model, and one for constructing our MOGP models and performing pruning.
2: Install py27 and the imgnet_py27 requirements for the py27 environment. Apply the imgnet_py27 patch. This contains our code for performant saliency collection.
3: Install py36 and the ep_py36_tf2 requirements for the py36 environment. Apply the ep_py36_tf2 patch. This contains an implementation of the ``exponential kernel''.

We assume the imgnet dataset is placed in /tmp/imgnet. To download and convert the imagenet format into the slim format please take a look at: https://github.com/tensorflow/models/tree/master/research/slim 
We also assume the py27 environment can be invoked with running 'source ~/imgnet_py27/bin/activate' (see ./ep/launchpad.sh).

./ep/resnet_ep.py requires 4 positional arguments.
1: a sync dir to communicate with the imagenet process
2: Convolutional filters *to keep* (e.g. 0.6 sparsity requires an argument of 0.4).
3: Residual unit sequence channels *to keep* (e.g. 0.3 sparsity requires an argument of 0.7).
4: A penalty term. e.g. 1e-4

The tensorflow training code also uses a working directory /tmp/tfmodel_PYTHONRUN.
