Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
Loading...
Searching...
No Matches
AllIFNeurons Class Reference
Inheritance diagram for AllIFNeurons:
Collaboration diagram for AllIFNeurons:

Public Member Functions

virtual void setupVertices () override
 Setup the internal structure of the class (allocate memories).
 
virtual void loadParameters ()
 
virtual void printParameters () const
 
virtual void createAllVertices (Layout &layout)
 
virtual string toString (int index) const
 
virtual void deserialize (istream &input)
 
virtual void serialize (ostream &output) const
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
The membrane time constant f$ (R_m \cdot C_m)\f$ vector< BGFLOAT > Tau_
 
template<class Archive >
Cereal serialization method void serialize (Archive &archive)
 
- Public Member Functions inherited from AllSpikingNeurons
void clearSpikeCounts ()
 Clear the spike counts out of all Neurons.
 
virtual void registerHistoryVariables () override
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
virtual void advanceVertices (AllEdges &synapses, const EdgeIndexMap &edgeIndexMap)
 
uint64_t getSpikeHistory (int index, int offIndex)
 
- Public Member Functions inherited from AllVertices
virtual void loadEpochInputs (uint64_t currentStep, uint64_t endStep)
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 

Public Attributes

vector< BGFLOAT > Trefract_
 The length of the absolute refractory period. [units=sec; range=(0,1);].
 
vector< BGFLOAT > Vthresh_
 If $V_m$ exceeds $V_{thresh}$ a spike is emmited. [units=V; range=(-10,100);].
 
vector< BGFLOAT > Vrest_
 The resting membrane voltage. [units=V; range=(-1,1);].
 
vector< BGFLOAT > Vreset_
 The voltage to reset $V_m$ to after a spike. [units=V; range=(-1,1);].
 
vector< BGFLOAT > Vinit_
 The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].
 
vector< BGFLOAT > Cm_
 
vector< BGFLOAT > Rm_
 The membrane resistance $R_m$ [units=Ohm; range=(0,1e30)].
 
vector< BGFLOAT > Inoise_
 The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].
 
vector< BGFLOAT > Iinject_
 A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].
 
vector< BGFLOAT > Isyn_
 
vector< int > numStepsInRefractoryPeriod_
 The remaining number of time steps for the absolute refractory period.
 
vector< BGFLOAT > C1_
 Internal constant for the exponential Euler integration of f$V_m .
 
Internal constant for the exponential Euler integration of f$V_m f$ vector< BGFLOAT > C2_
 
Internal constant for the exponential Euler integration of f$V_m f$ vector< BGFLOAT > I0_
 
The membrane voltage f$V_m f$[readonly;units=V;] vector< BGFLOAT > Vm_
 
- Public Attributes inherited from AllSpikingNeurons
vector< bool > hasFired_
 The booleans which track whether the neuron has fired.
 
vector< EventBuffervertexEvents_
 Holds at least one epoch's worth of event times for every vertex.
 
- Public Attributes inherited from AllVertices
vector< BGFLOAT > summationPoints_
 

Protected Member Functions

void createNeuron (int neuronIndex, Layout &layout)
 
void setNeuronDefaults (int index)
 
virtual void initNeuronConstsFromParamValues (int neuronIndex, BGFLOAT deltaT)
 
void readNeuron (istream &input, int i)
 
void writeNeuron (ostream &output, int i) const
 
- Protected Member Functions inherited from AllSpikingNeurons
virtual void advanceNeuron (int index)=0
 
virtual void fire (int index)
 

Additional Inherited Members

- Protected Attributes inherited from AllSpikingNeurons
bool fAllowBackPropagation_
 
- Protected Attributes inherited from AllVertices
int size_
 Total number of vertices.
 
log4cplus::Logger fileLogger_
 
log4cplus::Logger vertexLogger_
 

Detailed Description

Definition at line 34 of file AllIFNeurons.h.

Member Function Documentation

◆ createAllVertices()

void AllIFNeurons::createAllVertices ( Layout & layout)
virtual

Creates all the Neurons and assigns initial data for them.

Parameters
layoutLayout information of the neural network.

Creates all the Neurons and generates data for them.

Parameters
layoutLayout information of the neural network.

Implements AllVertices.

Reimplemented in AllIZHNeurons.

Definition at line 102 of file AllIFNeurons.cpp.

◆ createNeuron()

void AllIFNeurons::createNeuron ( int i,
Layout & layout )
protected

Creates a single Neuron and generates data for it.

Parameters
neuronIndexIndex of the neuron to create.
layoutLayout information of the neural network.

Creates a single Neuron and generates data for it.

Parameters
iIndex of the neuron to create.
layoutLayout information of the neural network.

Definition at line 117 of file AllIFNeurons.cpp.

◆ deserialize()

void AllIFNeurons::deserialize ( istream & input)
virtual

Reads and sets the data for all neurons from input stream.

Parameters
inputistream to read from.

Sets the data for Neurons to input's data.

Parameters
inputistream to read from.

Reimplemented in AllIZHNeurons.

Definition at line 246 of file AllIFNeurons.cpp.

◆ initNeuronConstsFromParamValues()

void AllIFNeurons::initNeuronConstsFromParamValues ( int i,
BGFLOAT deltaT )
protectedvirtual

Initializes the Neuron constants at the indexed location.

Parameters
neuronIndexIndex of the Neuron.
deltaTInner simulation step duration

Initializes the Neuron constants at the indexed location.

Parameters
iIndex of the Neuron.
deltaTInner simulation step duration

Reimplemented in AllIZHNeurons.

Definition at line 190 of file AllIFNeurons.cpp.

◆ loadParameters()

void AllIFNeurons::loadParameters ( )
virtual

Load member variables from configuration file. Registered to OperationManager as Operation::loadParameters

Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters

Implements AllVertices.

Definition at line 43 of file AllIFNeurons.cpp.

◆ printParameters()

void AllIFNeurons::printParameters ( ) const
virtual

Prints out all parameters of the neurons to logging file. Registered to OperationManager as Operation::printParameters

Reimplemented from AllVertices.

Reimplemented in AllIZHNeurons, and AllLIFNeurons.

Definition at line 76 of file AllIFNeurons.cpp.

◆ readNeuron()

void AllIFNeurons::readNeuron ( istream & input,
int i )
protected

Sets the data for Neuron #index to input's data.

Parameters
inputistream to read from.
iindex of the neuron (in neurons).

Definition at line 257 of file AllIFNeurons.cpp.

◆ serialize() [1/2]

template<class Archive >
Cereal serialization method void AllIFNeurons::serialize ( Archive & archive)

Definition at line 305 of file AllIFNeurons.h.

◆ serialize() [2/2]

void AllIFNeurons::serialize ( ostream & output) const
virtual

Writes out the data in all neurons to output stream.

Parameters
outputstream to write out to.ss.

Writes out the data in Neurons.

Parameters
outputstream to write out to.

Reimplemented in AllIZHNeurons.

Definition at line 301 of file AllIFNeurons.cpp.

◆ setNeuronDefaults()

void AllIFNeurons::setNeuronDefaults ( int index)
protected

Set the Neuron at the indexed location to default values.

Parameters
indexIndex of the Neuron that the synapse belongs to.

Definition at line 172 of file AllIFNeurons.cpp.

◆ setupVertices()

void AllIFNeurons::setupVertices ( )
overridevirtual

Setup the internal structure of the class (allocate memories).

Setup the internal structure of the class. Allocate memories to store all neurons' state.

Reimplemented from AllSpikingNeurons.

Reimplemented in AllIZHNeurons.

Definition at line 18 of file AllIFNeurons.cpp.

◆ toString()

string AllIFNeurons::toString ( int index) const
virtual

Outputs state of the neuron chosen as a string.

Parameters
indexindex of the neuron (in neurons) to output info from.
Returns
the complete state of the neuron.

Implements AllVertices.

Reimplemented in AllIZHNeurons.

Definition at line 220 of file AllIFNeurons.cpp.

◆ writeNeuron()

void AllIFNeurons::writeNeuron ( ostream & output,
int i ) const
protected

Writes out the data in the selected Neuron.

Parameters
outputstream to write out to.
iindex of the neuron (in neurons).

Definition at line 312 of file AllIFNeurons.cpp.

Member Data Documentation

◆ C1_

vector<BGFLOAT> AllIFNeurons::C1_

Internal constant for the exponential Euler integration of f$V_m .

Definition at line 206 of file AllIFNeurons.h.

◆ C2_

Internal constant for the exponential Euler integration of f$V_m f$ vector<BGFLOAT> AllIFNeurons::C2_

Definition at line 209 of file AllIFNeurons.h.

◆ Cm_

vector<BGFLOAT> AllIFNeurons::Cm_

The membrane capacitance $C_m$ [range=(0,1); units=F;] Used to initialize Tau (no use after that)

Definition at line 185 of file AllIFNeurons.h.

◆ I0_

Internal constant for the exponential Euler integration of f$V_m f$ vector<BGFLOAT> AllIFNeurons::I0_

Definition at line 212 of file AllIFNeurons.h.

◆ Iinject_

vector<BGFLOAT> AllIFNeurons::Iinject_

A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].

Definition at line 194 of file AllIFNeurons.h.

◆ Inoise_

vector<BGFLOAT> AllIFNeurons::Inoise_

The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].

Definition at line 191 of file AllIFNeurons.h.

◆ Isyn_

vector<BGFLOAT> AllIFNeurons::Isyn_

What the hell is this used for??? It does not seem to be used; seems to be a candidate for deletion. Possibly from the old code before using a separate summation point The synaptic input current.

Definition at line 200 of file AllIFNeurons.h.

◆ numStepsInRefractoryPeriod_

vector<int> AllIFNeurons::numStepsInRefractoryPeriod_

The remaining number of time steps for the absolute refractory period.

Definition at line 203 of file AllIFNeurons.h.

◆ Rm_

vector<BGFLOAT> AllIFNeurons::Rm_

The membrane resistance $R_m$ [units=Ohm; range=(0,1e30)].

Definition at line 188 of file AllIFNeurons.h.

◆ Trefract_

vector<BGFLOAT> AllIFNeurons::Trefract_

The length of the absolute refractory period. [units=sec; range=(0,1);].

Definition at line 169 of file AllIFNeurons.h.

◆ Vinit_

vector<BGFLOAT> AllIFNeurons::Vinit_

The initial condition for $V_m$ at time $t=0$. [units=V; range=(-1,1);].

Definition at line 181 of file AllIFNeurons.h.

◆ Vm_

The membrane voltage f$V_m f$ [readonly; units=V;] vector<BGFLOAT> AllIFNeurons::Vm_

Definition at line 215 of file AllIFNeurons.h.

◆ Vreset_

vector<BGFLOAT> AllIFNeurons::Vreset_

The voltage to reset $V_m$ to after a spike. [units=V; range=(-1,1);].

Definition at line 178 of file AllIFNeurons.h.

◆ Vrest_

vector<BGFLOAT> AllIFNeurons::Vrest_

The resting membrane voltage. [units=V; range=(-1,1);].

Definition at line 175 of file AllIFNeurons.h.

◆ Vthresh_

vector<BGFLOAT> AllIFNeurons::Vthresh_

If $V_m$ exceeds $V_{thresh}$ a spike is emmited. [units=V; range=(-10,100);].

Definition at line 172 of file AllIFNeurons.h.


The documentation for this class was generated from the following files: