C++ library for simulating spiking neural networks

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

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