GeNN  2.2.3
GPU enhanced Neuronal Networks (GeNN)
Schmuker2014_classifier Class Reference

This class cpontains the methods for running the Schmuker_2014_classifier example model. More...

#include <Schmuker2014_classifier.h>

Public Types

enum  data_type { data_type_int, data_type_uint, data_type_float, data_type_double }
 

Public Member Functions

 Schmuker2014_classifier ()
 
 ~Schmuker2014_classifier ()
 
void allocateHostAndDeviceMemory ()
 
void populateDeviceMemory ()
 
void update_input_data_on_device ()
 
void clearDownDevice ()
 
void run (float runtime, string filename_rasterPlot, bool usePlasticity)
 
void getSpikesFromGPU ()
 
void getSpikeNumbersFromGPU ()
 
void outputSpikes (FILE *, string delim)
 
void initialiseWeights_SPARSE_RN_PN ()
 
void initialiseWeights_WTA_PN_PN ()
 
void initialiseWeights_DENSE_PN_AN ()
 
void initialiseWeights_WTA_AN_AN ()
 
void createWTAConnectivity (float *synapse, UINT populationSize, UINT clusterSize, float synapseWeight, float probability)
 
bool randomEventOccurred (float probability)
 
void updateWeights_PN_AN_on_device ()
 
void generate_or_load_inputrates_dataset (unsigned int recordingIdx)
 
void generate_inputrates_dataset (unsigned int recordingIdx)
 
FILE * openRecordingFile (UINT recordingIndex)
 
void applyLearningRuleSynapses (float *synapsesPNAN)
 
void initialiseInputData ()
 
void load_VR_data ()
 
void setCorrectClass (UINT recordingIdx)
 
UINT getClassCluster (UINT anIdx)
 
void loadClassLabels ()
 
void addInputRate (float *samplePoint, UINT timeStep)
 
uint64_t convertToRateCode (float inputRateHz)
 
float calculateVrResponse (float *samplePoint, float *vrPoint)
 
void setMaxMinSampleDistances ()
 
void findMaxMinSampleDistances (float *samples, UINT startAt, UINT totalSamples)
 
float getSampleDistance (UINT max0_min1)
 
float getManhattanDistance (float *pointA, float *pointB, UINT numElements)
 
float getRand0to1 ()
 
UINT calculateOverallWinner ()
 
UINT calculateWinner (unsigned int *clusterSpikeCount)
 
UINT calculateCurrentWindowWinner ()
 
void updateIndividualSpikeCountPN ()
 
void resetIndividualSpikeCountPN ()
 
void updateClusterSpikeCountAN ()
 
void resetClusterSpikeCountAN ()
 
void resetOverallWinner ()
 
void updateWeights_PN_AN ()
 
UINT getClusterIndex (UINT neuronIndex, UINT clusterSize)
 
void generateSimulatedTimeSeriesData ()
 
string getRecordingFilename (UINT recordingIdx)
 
bool loadArrayFromTextFile (string path, void *array, string delim, UINT arrayLen, data_type dataType)
 
void checkContents (string title, void *array, UINT howMany, UINT displayPerLine, data_type dataType, UINT decimalPoints)
 
void checkContents (string title, void *array, UINT howMany, UINT displayPerLine, data_type dataType, UINT decimalPoints, string delim)
 
void printSeparator ()
 
void resetDevice ()
 
void startLog ()
 

Public Attributes

double d_maxRandomNumber
 
NNmodel model
 
uint64_t * inputRates
 
unsigned int inputRatesSize
 
float * vrData
 
unsigned int * classLabel
 
unsigned int * individualSpikeCountPN
 
unsigned int * overallWinnerSpikeCountAN
 
unsigned int * clusterSpikeCountAN
 
float * plasticWeights
 
uint64_t * d_inputRates
 
unsigned int countRN
 
unsigned int countPN
 
unsigned int countAN
 
unsigned int countPNAN
 
float * sampleDistance
 
string recordingsDir
 
string cacheDir
 
string outputDir
 
string datasetName
 
string uniqueRunId
 
UINT correctClass
 
int winningClass
 
FILE * log
 
UINT param_SPIKING_ACTIVITY_THRESHOLD_HZ
 
UINT param_MAX_FIRING_RATE_HZ
 
UINT param_MIN_FIRING_RATE_HZ
 
float param_GLOBAL_WEIGHT_SCALING
 
float param_WEIGHT_RN_PN
 
float param_CONNECTIVITY_RN_PN
 
float param_WEIGHT_WTA_PN_PN
 
float param_WEIGHT_WTA_AN_AN
 
float param_CONNECTIVITY_PN_PN
 
float param_CONNECTIVITY_AN_AN
 
float param_CONNECTIVITY_PN_AN
 
float param_MIN_WEIGHT_PN_AN
 
float param_MAX_WEIGHT_PN_AN
 
float param_WEIGHT_DELTA_PN_AN
 
float param_PLASTICITY_INTERVAL_MS
 
bool clearedDownDevice
 

Static Public Attributes

static const unsigned int timestepsPerRecording = RECORDING_TIME_MS / DT
 

Detailed Description

This class cpontains the methods for running the Schmuker_2014_classifier example model.

Member Enumeration Documentation

Enumerator
data_type_int 
data_type_uint 
data_type_float 
data_type_double 

Constructor & Destructor Documentation

Schmuker2014_classifier::Schmuker2014_classifier ( )
Schmuker2014_classifier::~Schmuker2014_classifier ( )

Member Function Documentation

void Schmuker2014_classifier::addInputRate ( float *  samplePoint,
UINT  timeStep 
)
void Schmuker2014_classifier::allocateHostAndDeviceMemory ( )
void Schmuker2014_classifier::applyLearningRuleSynapses ( float *  synapsesPNAN)
UINT Schmuker2014_classifier::calculateCurrentWindowWinner ( )
UINT Schmuker2014_classifier::calculateOverallWinner ( )
float Schmuker2014_classifier::calculateVrResponse ( float *  samplePoint,
float *  vrPoint 
)
UINT Schmuker2014_classifier::calculateWinner ( unsigned int *  clusterSpikeCount)
void Schmuker2014_classifier::checkContents ( string  title,
void *  array,
UINT  howMany,
UINT  displayPerLine,
data_type  dataType,
UINT  decimalPoints 
)
void Schmuker2014_classifier::checkContents ( string  title,
void *  array,
UINT  howMany,
UINT  displayPerLine,
data_type  dataType,
UINT  decimalPoints,
string  delim 
)
void Schmuker2014_classifier::clearDownDevice ( )
uint64_t Schmuker2014_classifier::convertToRateCode ( float  inputRateHz)
void Schmuker2014_classifier::createWTAConnectivity ( float *  synapse,
UINT  populationSize,
UINT  clusterSize,
float  synapseWeight,
float  probability 
)
void Schmuker2014_classifier::findMaxMinSampleDistances ( float *  samples,
UINT  startAt,
UINT  totalSamples 
)
void Schmuker2014_classifier::generate_inputrates_dataset ( unsigned int  recordingIdx)
void Schmuker2014_classifier::generate_or_load_inputrates_dataset ( unsigned int  recordingIdx)
void Schmuker2014_classifier::generateSimulatedTimeSeriesData ( )
UINT Schmuker2014_classifier::getClassCluster ( UINT  anIdx)
UINT Schmuker2014_classifier::getClusterIndex ( UINT  neuronIndex,
UINT  clusterSize 
)
float Schmuker2014_classifier::getManhattanDistance ( float *  pointA,
float *  pointB,
UINT  numElements 
)
float Schmuker2014_classifier::getRand0to1 ( )
string Schmuker2014_classifier::getRecordingFilename ( UINT  recordingIdx)
float Schmuker2014_classifier::getSampleDistance ( UINT  max0_min1)
void Schmuker2014_classifier::getSpikeNumbersFromGPU ( )
void Schmuker2014_classifier::getSpikesFromGPU ( )
void Schmuker2014_classifier::initialiseInputData ( )
void Schmuker2014_classifier::initialiseWeights_DENSE_PN_AN ( )
void Schmuker2014_classifier::initialiseWeights_SPARSE_RN_PN ( )
void Schmuker2014_classifier::initialiseWeights_WTA_AN_AN ( )
void Schmuker2014_classifier::initialiseWeights_WTA_PN_PN ( )
void Schmuker2014_classifier::load_VR_data ( )
bool Schmuker2014_classifier::loadArrayFromTextFile ( string  path,
void *  array,
string  delim,
UINT  arrayLen,
data_type  dataType 
)
void Schmuker2014_classifier::loadClassLabels ( )
FILE * Schmuker2014_classifier::openRecordingFile ( UINT  recordingIndex)
void Schmuker2014_classifier::outputSpikes ( FILE *  f,
string  delim 
)
void Schmuker2014_classifier::populateDeviceMemory ( )
void Schmuker2014_classifier::printSeparator ( )
bool Schmuker2014_classifier::randomEventOccurred ( float  probability)
void Schmuker2014_classifier::resetClusterSpikeCountAN ( )
void Schmuker2014_classifier::resetDevice ( )
void Schmuker2014_classifier::resetIndividualSpikeCountPN ( )
void Schmuker2014_classifier::resetOverallWinner ( )
void Schmuker2014_classifier::run ( float  runtime,
string  filename_rasterPlot,
bool  usePlasticity 
)
void Schmuker2014_classifier::setCorrectClass ( UINT  recordingIdx)
void Schmuker2014_classifier::setMaxMinSampleDistances ( )
void Schmuker2014_classifier::startLog ( )
void Schmuker2014_classifier::update_input_data_on_device ( )
void Schmuker2014_classifier::updateClusterSpikeCountAN ( )
void Schmuker2014_classifier::updateIndividualSpikeCountPN ( )
void Schmuker2014_classifier::updateWeights_PN_AN ( )
void Schmuker2014_classifier::updateWeights_PN_AN_on_device ( )

Member Data Documentation

string Schmuker2014_classifier::cacheDir
unsigned int* Schmuker2014_classifier::classLabel
bool Schmuker2014_classifier::clearedDownDevice
unsigned int* Schmuker2014_classifier::clusterSpikeCountAN
UINT Schmuker2014_classifier::correctClass
unsigned int Schmuker2014_classifier::countAN
unsigned int Schmuker2014_classifier::countPN
unsigned int Schmuker2014_classifier::countPNAN
unsigned int Schmuker2014_classifier::countRN
uint64_t* Schmuker2014_classifier::d_inputRates
double Schmuker2014_classifier::d_maxRandomNumber
string Schmuker2014_classifier::datasetName
unsigned int* Schmuker2014_classifier::individualSpikeCountPN
uint64_t* Schmuker2014_classifier::inputRates
unsigned int Schmuker2014_classifier::inputRatesSize
FILE* Schmuker2014_classifier::log
NNmodel Schmuker2014_classifier::model
string Schmuker2014_classifier::outputDir
unsigned int* Schmuker2014_classifier::overallWinnerSpikeCountAN
float Schmuker2014_classifier::param_CONNECTIVITY_AN_AN
float Schmuker2014_classifier::param_CONNECTIVITY_PN_AN
float Schmuker2014_classifier::param_CONNECTIVITY_PN_PN
float Schmuker2014_classifier::param_CONNECTIVITY_RN_PN
float Schmuker2014_classifier::param_GLOBAL_WEIGHT_SCALING
UINT Schmuker2014_classifier::param_MAX_FIRING_RATE_HZ
float Schmuker2014_classifier::param_MAX_WEIGHT_PN_AN
UINT Schmuker2014_classifier::param_MIN_FIRING_RATE_HZ
float Schmuker2014_classifier::param_MIN_WEIGHT_PN_AN
float Schmuker2014_classifier::param_PLASTICITY_INTERVAL_MS
UINT Schmuker2014_classifier::param_SPIKING_ACTIVITY_THRESHOLD_HZ
float Schmuker2014_classifier::param_WEIGHT_DELTA_PN_AN
float Schmuker2014_classifier::param_WEIGHT_RN_PN
float Schmuker2014_classifier::param_WEIGHT_WTA_AN_AN
float Schmuker2014_classifier::param_WEIGHT_WTA_PN_PN
float* Schmuker2014_classifier::plasticWeights
string Schmuker2014_classifier::recordingsDir
float* Schmuker2014_classifier::sampleDistance
const unsigned int Schmuker2014_classifier::timestepsPerRecording = RECORDING_TIME_MS / DT
static
string Schmuker2014_classifier::uniqueRunId
float* Schmuker2014_classifier::vrData
int Schmuker2014_classifier::winningClass

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