This code is based on the PATE framework presented by Papernot et al. in: arXiv:1610.05755.
This requires torch
, torchvision
, scipy
, numpy
, and tensorboard
. So far (fingers crossed!) we've been able to use never versions of all these packages without much difficulty.
For our purposes, we train teachers like so:
python torch_teachers.py
This should output a number of .tch
files. After training the teachers, we run the voting aggregation algorithms, like so:
python get_predicted_labels.py
Within that code, there are options to change what the aggregation mechanism is. This code generates a .npy
file. After the data has been aggregated, we train the student like so:
python student.py