CARLsim  3.1.3
CARLsim: a GPU-accelerated SNN simulator
simple_weight_tuner.h
Go to the documentation of this file.
1 #ifndef _SIMPLE_WEIGHT_TUNER_H_
2 #define _SIMPLE_WEIGHT_TUNER_H_
3 
4 class CARLsim;
5 class SpikeMonitor;
6 struct RangeWeight;
7 
42 public:
59  SimpleWeightTuner(CARLsim *sim, double errorMargin=1e-3, int maxIter=100, double stepSizeFraction=0.5);
60 
68 
87  void setConnectionToTune(short int connId, double initWt=-1.0, bool adjustRange=true);
88 
106  void setTargetFiringRate(int grpId, double targetRate);
107 
126  void iterate(int runDurationMs=1000, bool printStatus=true);
127 
140  bool done(bool printMessage=false);
141 
149  void reset();
150 
151 
152 private:
153  // This class provides a pImpl for the CARLsim User API.
154  // \see https://marcmutz.wordpress.com/translated-articles/pimp-my-pimpl/
155  class Impl;
156  Impl* _impl;
157 };
158 
159 #endif
CARLsim User Interface This class provides a user interface to the public sections of CARLsimCore sou...
Definition: carlsim.h:141
void setConnectionToTune(short int connId, double initWt=-1.0, bool adjustRange=true)
Sets up the connection to tune.
~SimpleWeightTuner()
Destructor.
Class SpikeMonitor.
SimpleWeightTuner(CARLsim *sim, double errorMargin=1e-3, int maxIter=100, double stepSizeFraction=0.5)
Creates a new instance of class SimpleWeightTuner.
void reset()
Resets the algorithm to initial conditions.
bool done(bool printMessage=false)
Determines whether a termination criterion has been met.
void setTargetFiringRate(int grpId, double targetRate)
Sets up the target firing rate of a specific group.
void iterate(int runDurationMs=1000, bool printStatus=true)
Performs an iteration step of the tuning algorithm.
a range struct for synaptic weight magnitudes
Private implementation of the Stopwatch Utility.
Class SimpleWeightTuner.