To use the code, install Anaconda with the following libraries:
- conda install scikit-image
- conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 -c pytorch
For a preferred cuda version, use one of the following instead:
- conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=9.2 -c pytorch
- conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1 -c pytorch
- conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.2 -c pytorch
- conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0 -c pytorch
To reproduce any of the results, run one of the following codes for their corresponding plot in the paper:
- plot_figure_3a.py
- plot_figure_3b.py
- plot_figure_3c.py
- plot_figure_4a.py
- plot_figure_4b.py
- plot_figure_4c.py
To train a single layered network on any of the schemes, use any of the following with the desired argument parameters:
- mnist_simulations.py
- energy_efficiency_simulatons.py
To train a single layered network on all the schemes in one go, use any of the following with the desired argument paramters:
- mnist_run.py
- energy_efficiency_run.py
To plot the results from simulations, enter the argument parameters in the following codes:
- mnist_plots.py
- energy_efficiency_plots.py