6 #ifndef SCHMUKER2014_CLASSIFIER_H 7 #define SCHMUKER2014_CLASSIFIER_H 94 void run(
float runtime,
string filename_rasterPlot,
bool usePlasticity);
string getRecordingFilename(UINT recordingIdx)
Definition: Schmuker2014_classifier.cc:401
void outputSpikes(FILE *, string delim)
Definition: Schmuker2014_classifier.cc:704
float getManhattanDistance(float *pointA, float *pointB, UINT numElements)
Definition: Schmuker2014_classifier.cc:593
UINT param_MAX_FIRING_RATE_HZ
Definition: Schmuker2014_classifier.h:69
void resetClusterSpikeCountAN()
Definition: Schmuker2014_classifier.cc:1051
string uniqueRunId
Definition: Schmuker2014_classifier.h:58
string outputDir
Definition: Schmuker2014_classifier.h:58
void generateSimulatedTimeSeriesData()
Definition: Schmuker2014_classifier.cc:368
void updateClusterSpikeCountAN()
Definition: Schmuker2014_classifier.cc:1038
UINT correctClass
Definition: Schmuker2014_classifier.h:60
void initialiseWeights_WTA_AN_AN()
Definition: Schmuker2014_classifier.cc:820
Definition: modelSpec.h:85
void updateIndividualSpikeCountPN()
Definition: Schmuker2014_classifier.cc:1011
float param_CONNECTIVITY_PN_PN
Definition: Schmuker2014_classifier.h:76
void generate_inputrates_dataset(unsigned int recordingIdx)
Definition: Schmuker2014_classifier.cc:409
unsigned int countPN
Definition: Schmuker2014_classifier.h:51
void findMaxMinSampleDistances(float *samples, UINT startAt, UINT totalSamples)
Definition: Schmuker2014_classifier.cc:564
#define RECORDING_TIME_MS
Definition: experiment.h:35
float * plasticWeights
Definition: Schmuker2014_classifier.h:42
void updateWeights_PN_AN_on_device()
Definition: Schmuker2014_classifier.cc:742
UINT param_SPIKING_ACTIVITY_THRESHOLD_HZ
Definition: Schmuker2014_classifier.h:68
float * sampleDistance
Definition: Schmuker2014_classifier.h:55
string datasetName
Definition: Schmuker2014_classifier.h:58
void run(float runtime, string filename_rasterPlot, bool usePlasticity)
Definition: Schmuker2014_classifier.cc:613
void update_input_data_on_device()
Definition: Schmuker2014_classifier.cc:152
void loadClassLabels()
Definition: Schmuker2014_classifier.cc:319
unsigned int inputRatesSize
Definition: Schmuker2014_classifier.h:36
string recordingsDir
Definition: Schmuker2014_classifier.h:58
unsigned int * overallWinnerSpikeCountAN
Definition: Schmuker2014_classifier.h:40
void getSpikeNumbersFromGPU()
void load_VR_data()
Definition: Schmuker2014_classifier.cc:191
float param_WEIGHT_WTA_PN_PN
Definition: Schmuker2014_classifier.h:74
void initialiseWeights_WTA_PN_PN()
Definition: Schmuker2014_classifier.cc:787
float param_PLASTICITY_INTERVAL_MS
Definition: Schmuker2014_classifier.h:82
void resetOverallWinner()
Definition: Schmuker2014_classifier.cc:1067
Definition: Schmuker2014_classifier.h:63
FILE * log
Definition: Schmuker2014_classifier.h:65
float param_CONNECTIVITY_PN_AN
Definition: Schmuker2014_classifier.h:78
Definition: Schmuker2014_classifier.h:63
bool clearedDownDevice
Definition: Schmuker2014_classifier.h:84
UINT param_MIN_FIRING_RATE_HZ
Definition: Schmuker2014_classifier.h:70
FILE * openRecordingFile(UINT recordingIndex)
Definition: Schmuker2014_classifier.cc:429
float param_GLOBAL_WEIGHT_SCALING
Definition: Schmuker2014_classifier.h:71
void applyLearningRuleSynapses(float *synapsesPNAN)
Definition: Schmuker2014_classifier.cc:858
void setMaxMinSampleDistances()
Definition: Schmuker2014_classifier.cc:521
unsigned int * clusterSpikeCountAN
Definition: Schmuker2014_classifier.h:41
unsigned int UINT
Definition: experiment.h:18
float param_MAX_WEIGHT_PN_AN
Definition: Schmuker2014_classifier.h:80
double d_maxRandomNumber
Definition: Schmuker2014_classifier.h:32
string cacheDir
Definition: Schmuker2014_classifier.h:58
static const unsigned int timestepsPerRecording
Definition: Schmuker2014_classifier.h:52
float calculateVrResponse(float *samplePoint, float *vrPoint)
Definition: Schmuker2014_classifier.cc:473
float param_MIN_WEIGHT_PN_AN
Definition: Schmuker2014_classifier.h:79
NNmodel model
Definition: Schmuker2014_classifier.h:34
Definition: Schmuker2014_classifier.h:63
void initialiseInputData()
Definition: Schmuker2014_classifier.cc:828
#define DT
This defines the global time step at which the simulation will run.
Definition: HHVclampGA_project/model/MBody1.cc:21
bool randomEventOccurred(float probability)
Definition: Schmuker2014_classifier.cc:951
bool loadArrayFromTextFile(string path, void *array, string delim, UINT arrayLen, data_type dataType)
Definition: Schmuker2014_classifier.cc:213
float param_WEIGHT_DELTA_PN_AN
Definition: Schmuker2014_classifier.h:81
uint64_t convertToRateCode(float inputRateHz)
Definition: Schmuker2014_classifier.cc:166
void populateDeviceMemory()
Definition: Schmuker2014_classifier.cc:120
int winningClass
Definition: Schmuker2014_classifier.h:61
void resetDevice()
Definition: Schmuker2014_classifier.cc:95
unsigned int * individualSpikeCountPN
Definition: Schmuker2014_classifier.h:39
void clearDownDevice()
Definition: Schmuker2014_classifier.cc:138
unsigned int countAN
Definition: Schmuker2014_classifier.h:51
void initialiseWeights_DENSE_PN_AN()
Definition: Schmuker2014_classifier.cc:796
UINT calculateCurrentWindowWinner()
Definition: Schmuker2014_classifier.cc:1001
unsigned int * classLabel
Definition: Schmuker2014_classifier.h:38
void setCorrectClass(UINT recordingIdx)
Definition: Schmuker2014_classifier.cc:850
Schmuker2014_classifier()
Definition: Schmuker2014_classifier.cc:37
float param_CONNECTIVITY_RN_PN
Definition: Schmuker2014_classifier.h:73
float param_WEIGHT_WTA_AN_AN
Definition: Schmuker2014_classifier.h:75
UINT calculateOverallWinner()
Definition: Schmuker2014_classifier.cc:992
UINT calculateWinner(unsigned int *clusterSpikeCount)
Definition: Schmuker2014_classifier.cc:974
float param_WEIGHT_RN_PN
Definition: Schmuker2014_classifier.h:72
void resetIndividualSpikeCountPN()
Definition: Schmuker2014_classifier.cc:1022
uint64_t * inputRates
Definition: Schmuker2014_classifier.h:35
void addInputRate(float *samplePoint, UINT timeStep)
Definition: Schmuker2014_classifier.cc:445
data_type
Definition: Schmuker2014_classifier.h:63
void generate_or_load_inputrates_dataset(unsigned int recordingIdx)
Definition: Schmuker2014_classifier.cc:342
unsigned int countRN
Definition: Schmuker2014_classifier.h:51
void checkContents(string title, void *array, UINT howMany, UINT displayPerLine, data_type dataType, UINT decimalPoints)
Definition: Schmuker2014_classifier.cc:277
void startLog()
Definition: Schmuker2014_classifier.cc:85
void initialiseWeights_SPARSE_RN_PN()
Definition: Schmuker2014_classifier.cc:758
void createWTAConnectivity(float *synapse, UINT populationSize, UINT clusterSize, float synapseWeight, float probability)
Definition: Schmuker2014_classifier.cc:932
This class cpontains the methods for running the Schmuker_2014_classifier example model...
Definition: Schmuker2014_classifier.h:29
float getSampleDistance(UINT max0_min1)
Definition: Schmuker2014_classifier.cc:489
UINT getClassCluster(UINT anIdx)
Definition: Schmuker2014_classifier.cc:915
uint64_t * d_inputRates
Definition: Schmuker2014_classifier.h:47
~Schmuker2014_classifier()
Definition: Schmuker2014_classifier.cc:61
void getSpikesFromGPU()
Definition: Schmuker2014_classifier.cc:690
float * vrData
Definition: Schmuker2014_classifier.h:37
void updateWeights_PN_AN()
Definition: Schmuker2014_classifier.cc:729
Definition: Schmuker2014_classifier.h:63
void allocateHostAndDeviceMemory()
Definition: Schmuker2014_classifier.cc:105
UINT getClusterIndex(UINT neuronIndex, UINT clusterSize)
Definition: Schmuker2014_classifier.cc:923
unsigned int countPNAN
Definition: Schmuker2014_classifier.h:51
void printSeparator()
Definition: Schmuker2014_classifier.cc:268
float getRand0to1()
Definition: Schmuker2014_classifier.cc:966
float param_CONNECTIVITY_AN_AN
Definition: Schmuker2014_classifier.h:77