SNN Encoder Tools
Spiking Neural Networks - Encoding Optimization Tools
- Developed by Balint Petro from Budapest University of Technology and Economics, Hungary
- Developed at Auckland University of Technology - Knowledge Engineering and Discovery Research Institute, New Zealand
1. How To use Matlab GUI version
- Open Matlab and navigate to the folder of where you store snn-encoder-tools.
Spiker.mand run it (select and F9 or double-click). This will add the snn-encoder-tools folder and sub-folders to path.
- Load your own data from the
Load datamenu item (Ctrl + O), or select a test signal type in the top left corner of window, then click the appearing
Generate databutton. (The loaded data size is displayed in the console - make sure it is n-by-1, where n is your signal length. The current GUI version supports only one sample of one feature).
- Select encoding algorithm amongst the top right radio buttons.
- Set parameters and click
Encode. Use slider to adjust
thresholdparameter if you wish.
- Alternatively, perform a simple search for an optimal threshold parameter. You can also set the
thresholdat the optimum value by clicking
Optimize threshold. A grid search for multi-parameter optimization is also available (for MW and BSA encoding).
- Observe Fast Fourier Transformation results for original, reconstructed and spike signals by clicking
- In the
Save to workspace(or Ctrl + S) to save original, reconstructed and spike signals (if these exist) to the workspace as variables.
2. About formatting your own data to be loaded
Currently, only a single data sample can be loaded into the Spiker tool. The data should be stored as an
.csv or similar file and it should have a layout such that the consecutive rows represent the consecutive time points. It is okay to have multiple columns (e.g. for multiple features); during the loading process, a dialog box appears to select the column that you wish to work with.
The main built-in function used in the current version is
snr which was introduced in Matlab version R2013b. This and more recent versions should be compatible with this code.
All contributions are welcome.