Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


manual:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
manual:start [2016/07/05 23:36] – [Neurons and populations] zenkemanual:start [2016/08/15 04:55] – Adds section zenke
Line 1: Line 1:
-Auryn is a set of lightweight classes combined with some examples of how to use them. The power of the framework derives from its speed and extensibility if you do not hesitate to write a few lines of C++ code+====== Compiling the library ====== 
 + 
 +To get started you need to download and compile Auryn. See [[:quick start]] or [[CompileAuryn]] for instructions.
  
  
Line 25: Line 27:
 In many cases you will want to connect at least some of your populations with random sparse connectivity. To do so you simply instantiate an object of type [[SparseConnection]] which does exactly that. [[SparseConnection]] comes with a set of tools to directly add Hebbian assemblies or other simple structures into the synaptic weight matrix. However, if you want even more structure [[SparseConnection]] can import MatrixMarket files, which conveniently allows you to build complicated connectivity structures in MATLAB or Python and then load them into your simulation. In many cases you will want to connect at least some of your populations with random sparse connectivity. To do so you simply instantiate an object of type [[SparseConnection]] which does exactly that. [[SparseConnection]] comes with a set of tools to directly add Hebbian assemblies or other simple structures into the synaptic weight matrix. However, if you want even more structure [[SparseConnection]] can import MatrixMarket files, which conveniently allows you to build complicated connectivity structures in MATLAB or Python and then load them into your simulation.
  
-If you want to simulate plastic synapses simply use a Connection object of type [[STPDConnection]] or for instance [[TripletConnection]] for triplet STDP (after Pfister and Gerstner). You want short-term plasticity instead, then [[STPConnection]] is for you. It implements the Tsodyks-Markram model. You want to define arbitrarily shaped STDP windows and do not care about all-to-all spike interactions? Use [[PairInteractionConnection]]. In man cases you will want to write your own plasticity model -- have a look at this tutorial which will help you to get started [[tutorials:writing_your_own_plasticity_model]].+If you want to simulate plastic synapses simply use a Connection object of type [[STPDConnection]] or for instance [[TripletConnection]] for triplet STDP (after Pfister and Gerstner). You want short-term plasticity instead, then [[STPConnection]] is for you. It implements the Tsodyks-Markram model. You want to define arbitrarily shaped STDP windows and do not care about all-to-all spike interactions? Use [[PairInteractionConnection]]. In most cases you will want to write your own plasticity model -- have a look at this tutorial which will help you to get started [[tutorials:writing_your_own_plasticity_model]].
  
 ===== External Input ===== ===== External Input =====
Line 49: Line 51:
 Most objects in Auryn that have a direct network function can be subdivided into [[SpikingGroup]], [[Connection]] and [[Monitor]]. These three base classes implement the important interfaces that are called consecutively during the Auryn [[duty cycle]]. Instances of their descendants are registered and managed by the [[manual:System]] class, an instance of which is global to each Auryn [[simulation]]. Similarly global is the the [[manual:Logger]] class which takes care of logging output on the console and into log files. Most objects in Auryn that have a direct network function can be subdivided into [[SpikingGroup]], [[Connection]] and [[Monitor]]. These three base classes implement the important interfaces that are called consecutively during the Auryn [[duty cycle]]. Instances of their descendants are registered and managed by the [[manual:System]] class, an instance of which is global to each Auryn [[simulation]]. Similarly global is the the [[manual:Logger]] class which takes care of logging output on the console and into log files.
  
 +The most complete description of available classes and how to use them you will find in the doxygen generated class library. However, below are some entries for commonly used simulation components (which might, in some cases, not be too up to date any more)
 ===== SpikingGroups ===== ===== SpikingGroups =====
  
Line 60: Line 63:
     * [[manual:IF2Group]]     * [[manual:IF2Group]]
     * [[manual:AdExGroup]]     * [[manual:AdExGroup]]
 +    * [[manual:IzhikevichGroup]]
     * [[manual:AIFGroup]]     * [[manual:AIFGroup]]
     * [[manual:AIF2Group]]     * [[manual:AIF2Group]]
manual/start.txt · Last modified: 2018/02/07 08:58 by zenke