Files to run in this order
Step 1: Run BNN_full_binary_io.py
This will give you your training for a Fully Connected 784-512-512-10 MLP layer. Binarization fo final weights is done at the end of training. Please edit the code for the binarization of your layers, if you added more layers
Step 1.1: Run Mnist_cnn.py
This will run the CNN model. BatchNorm and dropout has been commented out
Step 2: Go into models folder. Run weight_extract_cnn.py (Run this if you ran mnist_cnn.py)
This will give you your binarized weights and conv layers on your final trained mode constrained to -1 and +1
Please edit the code for the binarization of your layers.
Step 3: (Results_validate folder) Either run BNN_new_train.py for evaluation of your saved weights loaded into a new model
OR
BNN_train_fun.py to test the trained results on real-time to see whether the model is able to predict your results
Miscellanous files (Do not Remove):
- activations.py
- binary_layers.py
- bnn_ip_binary.py (This is for fun to visualize the actual binarization of the input images)