Repository files navigation Artifact for 'Activation Functions Considered Harmful: Recovering Neural Network Weights through Controlled Channels'
Instructions for MNIST example
Setup sgx-step as indicated in README-sgxstep.md
You will need SGX-capable hardware
build tensorflowlite-micro
cd app/nn_param_recovery/Enclave/tflite-micro
make -f ./tensorflow/lite/micro/tools/make/Makefile BUILD_TYPE=release
You should build './gen/linux_x86_64_release_gcc/lib/libtensorflow-microlite.a'
Train the victim model:
cd app/nn_param_recovery/models/mnist
python3 train_mnist.py
python3 test_mnist.py
Convert the tf-lite model into its header file representation:
cd ../
python3 generate_cc_arrays.py . mnist/models/mnist.tflite
Start the attack (this will build the victim enclave):
cd app/nn_param_recovery/
python3 attack.py
The attack will create a .pickle file to checkpoint itself as it works.
When all of the convergence points have been found, a table will be printed which should match the table in the paper.
About
Artifact for "activation functions considered harmful"
Resources
License
Stars
Watchers
Forks
You can’t perform that action at this time.