C++ library for simulating spiking neural networks

Frank/Phenom f26d9f224a Remove obsolete Jamfiles 4 years ago
cmake eb8f27d994 Fix simulation sensorycancel 4 years ago
data e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
doc f26d9f224a Remove obsolete Jamfiles 4 years ago
env 987f54a712 Add .gitignore files 4 years ago
minimal f26d9f224a Remove obsolete Jamfiles 4 years ago
mycxxtests f26d9f224a Remove obsolete Jamfiles 4 years ago
python 987f54a712 Add .gitignore files 4 years ago
scripts e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
simulations f26d9f224a Remove obsolete Jamfiles 4 years ago
src f26d9f224a Remove obsolete Jamfiles 4 years ago
.cproject e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
.gitignore e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
.project e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
CMakeLists.txt e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
LICENSE.md 6a7c5b463f Add X11 license file 4 years ago
build_all.sh e8a18157d5 ObjSim: object oriented simulation library for spiking neural networks 4 years ago
datacite.yml 171943a566 Show complete citation in datacite.yml and readme.md 4 years ago
readme.md 268fe3cbca Improve documentation text 4 years ago
start_jupyter.sh 305d015bfd Document compiling and running of simulations, add jupyter start script 4 years ago

readme.md

ObjSim

This is a c++ based object oriented library for simulating spiking neural networks. It was used for simulations in the following publications:

Compiling

Running build_all.sh will compile:

  • the simulation library csim (source code is in src)
  • simulation main programs:
    • simulations/fm/som02/som02.cpp which was used in Frank Michler et al. (2009)
    • minimal/minimal.cpp is a minimal simulation program demonstrating how to use the library.
  • some unit tests in mycxxtests using the cxxtest library

Binaries will be installed in install.

Running via command line

You can run the simulations via:

cd install/bin/som02
./som02

settings_som02.cfg contains default simulation parameters that can be overwritten via command line arguments.

Running via Jupyter noteooks

After compiling, simulations can also be started and evaluated from jupyter notebooks.

  • Before you must provide a shell script in env/activate_python_env.sh to setup your python environment. You can use env/activate_python_env_EXAMPLE.sh as an example.
  • start_jupyter.sh starts jupyter notebook in subdirectory python.
  • The notebook python/ipynb/run_objsim_with_gaussian_input.ipynb can be used to run som02.cpp
  • python/ipynb/calc_maps.ipynb demonstrates how to load simulation data and calculate topographic maps.
datacite.yml
Title ObjSim
Authors Michler,Frank;Philipps-Universität Marburg
Philipp,Sebastian Thomas
Description C++ library for simulating spiking neural networks.
License X11 License (https://spdx.org/licenses/X11.html)
References Michler F, Eckhorn R, Wachtler T (2009): Using Spatiotemporal Correlations to Learn Topographic Maps for Invariant Object Recognition. J Neurophysiol 102:953-64. [doi:10.1152/jn.90651.2008] (IsSupplementTo)
Michler F, Wachtler T, Eckhorn R (2006): Adaptive Feedback Inhibition Improves Pattern Discrimination Learning. Lecture Notes in Artificial Intelligence 4087:21-32. [doi:10.1007/11829898_3] (IsSupplementTo)
Funding DFG, EC 53/11
DFG, DFG.5471310
Keywords Neuroscience
Spiking Neural Networks
Topographic Maps
Object Recognition
Resource Type Software