Auryn simulator
v0.8.1-206-gb56e451
Plastic Spiking Neural Network Simulator
|
A Checker class that tracks population firing rate as a moving average and breaks a run if it goes out of bound. More...
#include <RateChecker.h>
Public Member Functions | |
RateChecker (SpikingGroup *source, AurynFloat min, AurynFloat max, AurynFloat tau=1.0) | |
virtual | ~RateChecker () |
virtual bool | propagate () |
virtual AurynFloat | get_property () |
AurynFloat | get_rate () |
void | set_rate (AurynFloat r) |
void | reset () |
Public Member Functions inherited from auryn::Checker | |
Checker () | |
virtual | ~Checker () |
Protected Attributes | |
SpikingGroup * | src |
A Checker class that tracks population firing rate as a moving average and breaks a run if it goes out of bound.
This class should be specified at least once with all plastic runs to ensure that expoding firing rates or a silent network does not get simulated needlessly for hours.
The different constructors allow to specify different min and max firing rates to guard against too active or quiet networks. Also the timeconstant (tau) over which the moving rate average is computed online can be specified. Allow for 3-5 x tau for the estimate to settle to its steady state value. To avoid accidental breaking of a run due to this effect, at initialization the rate estimate is assumed to be the mean of the min and max. Note further that this checker computes population averages over the fraction of a neuron group which is simulated on a particular rank. In highly parallel simulations when the number of neurons per rank is very the rate estimate might have a high variance accross ranks. If highly parallel simulation is anticipated tau should be chosen longer to avoid spurious breaks caused by a noisy rate estimate or a different checker which computes the rate of entire population (after a MINDELAY s minimal delay) should be used.
RateChecker::RateChecker | ( | SpikingGroup * | source, |
AurynFloat | min, | ||
AurynFloat | max, | ||
AurynFloat | tau = 1.0 |
||
) |
A more elaborate constructor specifying also a minimum rate to guard against silent networks.
source | the source group to monitor. |
min | the minimum firing rate below which the Checker signals a break of the simulation. |
max | the maximum firing rate above which the Checker signals a break of the simulation. |
tau | the time constant over which to compute the moving average of the rate. |
|
virtual |
The query function required for internal use.
AurynFloat RateChecker::get_rate | ( | ) |
|
virtual |
The propagate function required for internal use.
Implements auryn::Checker.
void RateChecker::reset | ( | ) |
void RateChecker::set_rate | ( | AurynFloat | r | ) |
|
protected |