|
| DuplexConnection (const char *filename) |
|
| DuplexConnection (NeuronID rows, NeuronID cols) |
|
| DuplexConnection (SpikingGroup *source, NeuronGroup *destination, TransmitterType transmitter=GLUT) |
|
| DuplexConnection (SpikingGroup *source, NeuronGroup *destination, const char *filename, TransmitterType transmitter=GLUT) |
|
| DuplexConnection (SpikingGroup *source, NeuronGroup *destination, AurynWeight weight, AurynFloat sparseness=0.05, TransmitterType transmitter=GLUT, std::string name="DuplexConnection") |
|
virtual | ~DuplexConnection () |
|
virtual void | finalize () |
| Finalizes connection after random or manual initialization of the weights. More...
|
|
void | prune () |
| Prune weight matrices. More...
|
|
| SparseConnection () |
| Empty constructor which should not be used – TODO should be deprecated at some point. More...
|
|
| SparseConnection (const char *filename) |
| Load from wmat file constructor which should not be used – TODO should be deprecated at some point. More...
|
|
| SparseConnection (NeuronID rows, NeuronID cols) |
| Deprecated constructor for manual filling. More...
|
|
| SparseConnection (SpikingGroup *source, NeuronGroup *destination, const char *filename, TransmitterType transmitter=GLUT) |
| Deprecated constructor for loading from file. More...
|
|
| SparseConnection (SpikingGroup *source, NeuronGroup *destination, TransmitterType transmitter=GLUT, string name="SparseConnection") |
| Constructor for manual filling. More...
|
|
| SparseConnection (SpikingGroup *source, NeuronGroup *destination, AurynWeight weight, AurynDouble sparseness=0.05, TransmitterType transmitter=GLUT, string name="SparseConnection") |
| Default constructor which sets up a random sparse matrix with fixed weight between the source and destination group. More...
|
|
| SparseConnection (SpikingGroup *source, NeuronGroup *destination, SparseConnection *con, string name="SparseConnection") |
| This constructor tries to clone a connection by guessing all parameters except source and destination from another connection instance. More...
|
|
| SparseConnection (SpikingGroup *source, NeuronGroup *destination, AurynWeight weight, AurynDouble sparseness, NeuronID lo_row, NeuronID hi_row, NeuronID lo_col, NeuronID hi_col, TransmitterType transmitter=GLUT) |
| Sparse block constructor. More...
|
|
virtual | ~SparseConnection () |
| The default destructor. More...
|
|
void | allocate_manually (AurynLong expected_size) |
| Is used whenever memory has to be allocated manually. Automatically adjusts for number of ranks and for security margin. More...
|
|
AurynLong | estimate_required_nonzero_entires (AurynLong nonzero, double sigma=5.) |
| This function estimates the required size of the nonzero entry buffer. More...
|
|
void | seed (NeuronID randomseed) |
| This function seeds the pseudo random number generator for all random fill operatios. More...
|
|
virtual AurynWeight | get (NeuronID i, NeuronID j) |
| Returns weight value of a given element if it exists. More...
|
|
virtual AurynWeight * | get_ptr (NeuronID i, NeuronID j) |
| Returns pointer to given weight element if it exists. Returns NULL if element does not exist. More...
|
|
virtual AurynWeight | get_data (NeuronID i) |
| Returns weight value of a given element referenced by index in the data array. More...
|
|
virtual void | set_data (NeuronID i, AurynWeight value) |
| Sets weight value of a given element referenced by its index in the data array. More...
|
|
virtual void | set (NeuronID i, NeuronID j, AurynWeight value) |
| Sets a single connection to value if it exists. More...
|
|
virtual void | set (std::vector< neuron_pair > element_list, AurynWeight value) |
| Sets a list of connection to value if they exists. More...
|
|
void | random_data (AurynWeight mean, AurynWeight sigma) |
| Synonym for random_data. More...
|
|
void | random_data_normal (AurynWeight mean, AurynWeight sigma) |
| Set weights of all existing connections randomly using a normal distrubtion. More...
|
|
void | random_data_lognormal (AurynWeight m, AurynWeight s) |
| Set weights of all existing connections randomly using a lognormal distribution. More...
|
|
void | init_random_binary (AurynFloat prob=0.5, AurynWeight wlo=0.0, AurynWeight whi=1.0) |
| Initialize with random binary at wlo and whi. More...
|
|
void | random_col_data (AurynWeight mean, AurynWeight sigma) |
| Sets weights in cols to the same value drewn from a Gaussian distribution. More...
|
|
void | set_block (NeuronID lo_row, NeuronID hi_row, NeuronID lo_col, NeuronID hi_col, AurynWeight weight) |
| Sets all weights of existing connections in a block spanned by the first 4 parameters to the value given. More...
|
|
void | scale_block (NeuronID lo_row, NeuronID hi_row, NeuronID lo_col, NeuronID hi_col, AurynWeight alpha) |
| Scale all weights of existing connections in a block spanned by the first 4 parameters to the value given. More...
|
|
virtual void | set_all (AurynWeight weight) |
| Sets all weights of existing connections to the given value. More...
|
|
virtual void | scale_all (AurynFloat value) |
| Scales all weights in the weight matrix with the given value. More...
|
|
virtual void | clip (AurynWeight lo, AurynWeight hi) |
| Clip weights. More...
|
|
void | set_upper_triangular (AurynWeight weight) |
| Sets weights in a upper triangular matrix. More...
|
|
virtual void | sparse_set_data (AurynDouble sparseness, AurynWeight value) |
| Sets a sparse random subset of connection elements wight the given value. More...
|
|
void | connect_random (AurynWeight weight=1.0, AurynDouble sparseness=0.05, bool skip_diag=false) |
| Connect src and dst SpikingGroup and NeuronGroup randomly with given sparseness. More...
|
|
void | connect_block_random (AurynWeight weight, AurynDouble sparseness, NeuronID lo_row, NeuronID hi_row, NeuronID lo_col, NeuronID hi_col, bool skip_diag=false) |
| Underlying sparse fill method. More...
|
|
bool | push_back (NeuronID i, NeuronID j, AurynWeight weight) |
| Pushes a single element to the ComplexMatrix. More...
|
|
AurynLong | get_nonzero () |
| Returns number of nonzero elements in this SparseConnection. More...
|
|
void | put_pattern (type_pattern *pattern, AurynWeight strength, bool overwrite) |
| Puts cell assembly to existing sparse weights. More...
|
|
void | put_pattern (type_pattern *pattern1, type_pattern *pattern2, AurynWeight strength, bool overwrite) |
| Puts cell assembly or synfire pattern to existing sparse weights. More...
|
|
void | load_patterns (string filename, AurynWeight strength, int nb_max_patterns=10000, bool overwrite=false, bool chainmode=false) |
| Reads first n patterns from a .pat file and adds them as Hebbian assemblies onto an existing weight matrix. More...
|
|
void | load_pre_post_patterns (std::string pre_file, std::string post_file, AurynWeight strength, int nb_max_patterns=10000, bool overwrite=false) |
| Reads patterns from two files and connects them. More...
|
|
virtual void | propagate () |
| Internally used propagate method. More...
|
|
void | sanity_check () |
| Quick an dirty function that checks if all units on the local rank are connected. More...
|
|
virtual AurynDouble | sum () |
| Computes sum of all weight elements in the Connection. More...
|
|
virtual void | stats (AurynDouble &mean, AurynDouble &std) |
| Computes mean and variance of weights in default weight matrix. More...
|
|
virtual void | stats (AurynDouble &mean, AurynDouble &std, NeuronID zid) |
| Computes mean and variance of weights for matrix state zid. More...
|
|
bool | write_to_file (ForwardMatrix *m, string filename) |
| Writes rank specific weight matrix on the same rank to a file. More...
|
|
virtual bool | write_to_file (string filename) |
| Writes rank specific default weight matrix on the same rank to a file. More...
|
|
virtual bool | load_from_complete_file (string filename) |
| Loads weight matrix from a single file. More...
|
|
virtual bool | load_from_file (string filename) |
| Loads weight matrix from Matrix Market (wmat) file. More...
|
|
bool | load_from_file (ForwardMatrix *m, string filename, AurynLong data_size=0) |
| Loads weight matrix from Matrix Market (wmat) file to specified weight matrix. More...
|
|
virtual void | set_min_weight (AurynWeight minimum_weight) |
| Sets minimum weight (for plastic connections). More...
|
|
AurynWeight | get_min_weight () |
| Gets minimum weight (for plastic connections). More...
|
|
virtual void | set_max_weight (AurynWeight maximum_weight) |
| Sets maximum weight (for plastic connections). More...
|
|
AurynWeight | get_max_weight () |
| Gets maximum weight (for plastic connections). More...
|
|
std::vector< neuron_pair > | get_block (NeuronID lo_row, NeuronID hi_row, NeuronID lo_col, NeuronID hi_col) |
| Returns a vector of ConnectionsID of a block specified by the arguments. More...
|
|
std::vector< neuron_pair > | get_post_partners (NeuronID i) |
| Returns a vector of ConnectionsID of postsynaptic parterns of neuron i. More...
|
|
std::vector< neuron_pair > | get_pre_partners (NeuronID j) |
| Returns a vector of ConnectionsID of presynaptic parterns of neuron i. More...
|
|
| Connection () |
|
| Connection (NeuronID rows, NeuronID cols) |
|
| Connection (SpikingGroup *source, NeuronGroup *destination, TransmitterType transmitter=GLUT, std::string name="Connection") |
|
virtual | ~Connection () |
|
void | set_size (NeuronID i, NeuronID j) |
|
void | set_name (std::string name) |
| Set name of connection. More...
|
|
std::string | get_name () |
| Returns name of connection. More...
|
|
std::string | get_file_name () |
| Extracts the class name of the connection from the file name. More...
|
|
std::string | get_log_name () |
| Returns a string which is the combination of file and connection name for logging. More...
|
|
AurynStateVector * | get_target_vector () |
| Returns target state vector if one is defined. More...
|
|
NeuronID | get_m_rows () |
| Get number of rows (presynaptic) in connection. More...
|
|
NeuronID | get_n_cols () |
| Get number of columns (postsynaptic) in connection. More...
|
|
TransmitterType | get_transmitter () |
| Returns transmitter type. More...
|
|
void | set_target (AurynWeight *ptr) |
| Sets target state of this connection directly via a pointer. More...
|
|
void | set_target (AurynStateVector *ptr) |
| Sets target state of this connection directly via a StateVector. More...
|
|
void | set_receptor (AurynStateVector *ptr) |
| Same as set_target. More...
|
|
void | set_transmitter (AurynStateVector *ptr) |
| Same as set_target. More...
|
|
void | set_transmitter (TransmitterType transmitter) |
| Sets target state of this connection for a given receptor as one of Auryn's default transmitter types. More...
|
|
void | set_receptor (string state_name) |
| Sets target state of this connection directly the name of a state vector. More...
|
|
void | set_target (string state_name) |
| Same as set_receptor. More...
|
|
void | set_transmitter (string state_name) |
| Same as set_receptor, but DEPRECATED. More...
|
|
void | set_source (SpikingGroup *source) |
| Sets source SpikingGroup of this connection. More...
|
|
SpikingGroup * | get_source () |
| Returns pointer to the presynaptic group. More...
|
|
void | set_destination (NeuronGroup *source) |
| Sets destination SpikingGroup of this connection. More...
|
|
NeuronGroup * | get_destination () |
| Returns pointer to the postsynaptic group. More...
|
|
virtual void | evolve () |
| Evolve method to update internal connection state. Called by System run method. More...
|
|
void | conditional_propagate () |
| DEPRECATED. (Such connections should not be registered in the first place) Calls propagate only if the postsynaptic NeuronGroup exists on the local rank. More...
|
|
Trace * | get_pre_trace (const AurynDouble tau) |
| Returns a pointer to a presynaptic trace object. More...
|
|
Trace * | get_post_trace (const AurynDouble tau) |
| Returns a pointer to a postsynaptic trace object. More...
|
|
Trace * | get_post_state_trace (const string state_name, const AurynDouble tau, const AurynDouble jump_size=0.0) |
| Returns a pointer to a postsynaptic state trace object. More...
|
|
void | transmit (const NeuronID id, const AurynWeight amount) |
| Default way to transmit a spike to a postsynaptic partner. More...
|
|
void | targeted_transmit (SpikingGroup *target_group, AurynStateVector *target_state, const NeuronID id, const AurynWeight amount) |
| Transmits a spike to a given target group and state. More...
|
|
void | safe_transmit (NeuronID id, AurynWeight amount) |
| Same as transmit but first checks if the target neuron exists and avoids segfaults that way (but it's also slower). More...
|
|
SpikeContainer * | get_pre_spikes () |
| Supplies pointer to SpikeContainer of all presynaptic spikes. More...
|
|
SpikeContainer * | get_post_spikes () |
| Returns pointer to SpikeContainer for postsynaptic spikes on this node. More...
|
|
void | add_number_of_spike_attributes (int x) |
| Set up spike delay to accomodate x additional spike attributes. More...
|
|
AurynFloat | get_spike_attribute (const NeuronID i, const int attribute_id=0) |
| Returns spike attribute belonging to the spike at position i in the get_spikes() SpikeContainer. More...
|
|
Duplex connection is the base class of most plastic connections.
DuplexConnection serves as base class for plastic connections that want to implement synaptic weight change in response to a postsynaptic spike. This requires the post spike to be signalled back to the presynaptic cell (rather the connecting synapse). To do this efficiently, the weight matrix (ForwardMatrix) which allows for efficient forward propagation of spikes is mirrored as its transposed (BackwardMatrix). To keep the two matrices in sync the BackwardMatrix does not contain the actual weight value to the forward weight, but a pointer reference to that value.