PetaVision  Alpha
PV::ANNSquaredLayer Class Reference
Inheritance diagram for PV::ANNSquaredLayer:
PV::ANNLayer PV::HyPerLayer PV::BaseLayer PV::BaseObject PV::CheckpointerDataInterface PV::Observer

ANNLayer Parameters

List of parameters used by the ANNLayer class

virtual void ioParam_verticesV (enum ParamsIOFlag ioFlag)
 verticesV: An array of membrane potentials at points where the transfer function jumps or changes slope. There must be the same number of elements in verticesV as verticesA, and the sequence of values must be nondecreasing. If this parameter is absent, layerListsVerticesInParams() returns false and the vertices are computed internally from VThresh, AMin, AMax, AShift, and VWidth. If the parameter is present, layerListsVerticesInParams() returns true.
 
virtual void ioParam_verticesA (enum ParamsIOFlag ioFlag)
 verticesA: An array of activities of points where the transfer function jumps or changes slope. There must be the same number of elements in verticesA as verticesV. Only read if verticesV is present; otherwise it is computed internally from VThresh, AMin, AMax, AShift, and VWidth.
 
virtual void ioParam_slopeNegInf (enum ParamsIOFlag ioFlag)
 slopeNegInf: The slope of the transfer function when x is less than the first element of verticesV. Thus, if V < Vfirst, the corresponding value of A is A = Afirst - slopeNegInf * (Vfirst - V) Only read if verticesV is present; otherwise it is computed internally from VThresh, AMin, AMax, AShift, and VWidth.
 
virtual void ioParam_slopePosInf (enum ParamsIOFlag ioFlag)
 slopePosInf: The slope of the transfer function when x is greater than the last element of verticesV. Thus, if V > Vlast, the corresponding value of A is A = Alast + slopePosInf * (V - Vlast) Only read if verticesV is present; otherwise it is computed internally from VThresh, AMin, AMax, AShift, and VWidth.
 
virtual void ioParam_VThresh (enum ParamsIOFlag ioFlag)
 VThresh: Only read if verticesV is absent. The threshold value for the membrane potential. Below this value, the output activity will be AMin. Above, it will obey the transfer function as specified by AMax, VWidth, and AShift. Default is -infinity.
 
virtual void ioParam_AMin (enum ParamsIOFlag ioFlag)
 AMin: Only read if verticesV is absent. When membrane potential V is below the threshold VThresh, activity takes the value AMin. Default is the value of VThresh.
 
virtual void ioParam_AMax (enum ParamsIOFlag ioFlag)
 AMax: Only read if verticesV is absent. Activity that would otherwise be greater than AMax is truncated to AMax. Default is +infinity.
 
virtual void ioParam_AShift (enum ParamsIOFlag ioFlag)
 AShift: Only read if verticesV is absent. When membrane potential V is above the threshold VThresh, activity is V-AShift (but see VWidth for making a gradual transition at VThresh). Default is zero.
 
virtual void ioParam_VWidth (enum ParamsIOFlag ioFlag)
 VWidth: Only read if verticesV is absent. When the membrane potential is between VThresh and VThresh+VWidth, the activity changes linearly between A=AMin when V=VThresh and A=VThresh+VWidth-AShift when V=VThresh+VWidth. Default is zero.
 

HyPerLayer Parameters

List of parameters needed from the HyPerLayer class

virtual void ioParam_dataType (enum ParamsIOFlag ioFlag)
 
virtual void ioParam_updateGpu (enum ParamsIOFlag ioFlag)
 updateGpu: When compiled using CUDA or OpenCL GPU acceleration, this flag tells whether this layer's updateState method should use the GPU. If PetaVision was compiled without GPU acceleration, it is an error to set this flag to true.
 
virtual void ioParam_nxScale (enum ParamsIOFlag ioFlag)
 nxScale: Defines the relationship between the x column size and the layer size. More...
 
virtual void ioParam_nyScale (enum ParamsIOFlag ioFlag)
 nyScale: Defines the relationship between the y column size and the layer size. More...
 
virtual void ioParam_nf (enum ParamsIOFlag ioFlag)
 nf: Defines how many features this layer has
 
virtual void ioParam_phase (enum ParamsIOFlag ioFlag)
 phase: Defines the ordering in which each layer is updated
 
virtual void ioParam_mirrorBCflag (enum ParamsIOFlag ioFlag)
 mirrorBCflag: If set to true, the margin will mirror the data
 
virtual void ioParam_valueBC (enum ParamsIOFlag ioFlag)
 valueBC: If mirrorBC is set to true, Uses the specified value for the margin area
 
virtual void ioParam_initializeFromCheckpointFlag (enum ParamsIOFlag ioFlag)
 initializeFromCheckpointFlag: If set to true, initialize using checkpoint direcgtory set in HyPerCol. More...
 
virtual void ioParam_InitVType (enum ParamsIOFlag ioFlag)
 initVType: Specifies how to initialize the V buffer. More...
 
virtual void ioParam_triggerFlag (enum ParamsIOFlag ioFlag)
 triggerFlag: (Deprecated) Specifies if this layer is being triggered More...
 
virtual void ioParam_triggerLayerName (enum ParamsIOFlag ioFlag)
 triggerLayerName: Specifies the name of the layer that this layer triggers off of. If set to NULL or the empty string, the layer does not trigger but updates its state on every timestep.
 
virtual void ioParam_triggerOffset (enum ParamsIOFlag ioFlag)
 triggerOffset: If triggerLayer is set, triggers <triggerOffset> timesteps before target trigger More...
 
virtual void ioParam_triggerBehavior (enum ParamsIOFlag ioFlag)
 triggerBehavior: If triggerLayerName is set, this parameter specifies how the trigger is handled. More...
 
virtual void ioParam_triggerResetLayerName (enum ParamsIOFlag ioFlag)
 triggerResetLayerName: If triggerLayerName is set, this parameter specifies the layer to use for updating the state when the trigger happens. If set to NULL or the empty string, use triggerLayerName.
 
virtual void ioParam_writeStep (enum ParamsIOFlag ioFlag)
 writeStep: Specifies how often to output a pvp file for this layer More...
 
virtual void ioParam_initialWriteTime (enum ParamsIOFlag ioFlag)
 initialWriteTime: Specifies the first timestep to start outputing pvp files
 
virtual void ioParam_sparseLayer (enum ParamsIOFlag ioFlag)
 sparseLayer: Specifies if the layer should be considered sparese for optimization and output
 
virtual void ioParam_writeSparseValues (enum ParamsIOFlag ioFlag)
 writeSparseValues: No longer used.
 

Public Member Functions

 ANNSquaredLayer (const char *name, HyPerCol *hc)
 
virtual bool activityIsSpiking () override
 
virtual double addGpuTimers ()
 
void addRecvConn (BaseConnection *conn)
 
int callUpdateState (double simTime, double dt)
 
void clearProgressFlags ()
 
void copyAllActivityFromDevice ()
 
void copyAllGSynFromDevice ()
 
void copyAllGSynToDevice ()
 
void copyAllVFromDevice ()
 
float * getActivity ()
 
float getAMax () const
 
float getAMin () const
 
float getAShift () const
 
float * getChannel (ChannelType ch)
 
virtual float getChannelTimeConst (enum ChannelType channel_type)
 
PVLayergetCLayer ()
 
bool getDataStructuresAllocatedFlag ()
 
PVDataType getDataType ()
 
virtual double getDeltaTriggerTime ()
 
virtual double getDeltaUpdateTime ()
 
std::string const & getDescription () const
 
char const * getDescription_c () const
 
PVCuda::CudaBuffer * getDeviceActiveIndices ()
 
PVCuda::CudaBuffer * getDeviceActivity ()
 
PVCuda::CudaBuffer * getDeviceDatastore ()
 
PVCuda::CudaBuffer * getDeviceGSyn ()
 
PVCuda::CudaBuffer * getDeviceNumActive ()
 
PVCuda::CudaBuffer * getDeviceV ()
 
bool getHasReceived ()
 
bool getHasUpdated ()
 
bool getInitialValuesSetFlag ()
 
bool getInitInfoCommunicatedFlag ()
 
char const * getKeyword () const
 
double getLastUpdateTime ()
 
const float * getLayerData (int delay=0)
 
PVLayerLoc const * getLayerLoc () const
 
float getMaxRate ()
 
MPIBlock const * getMPIBlock ()
 
char const * getName () const
 
double getNextUpdateTime ()
 
int getNumChannels ()
 
int getNumDelayLevels ()
 
int getNumExtended ()
 
int getNumExtendedAllBatches ()
 
int getNumGlobalExtended ()
 
int getNumGlobalNeurons ()
 
int getNumNeurons ()
 
int getNumNeuronsAllBatches ()
 
int getNumProbes ()
 
int getNumVertices () const
 
int getPhase ()
 
LayerProbegetProbe (int n)
 
PublishergetPublisher ()
 
bool getRecvGpu ()
 
float getSlopeNegInf () const
 
float getSlopePosInf () const
 
bool getSparseFlag ()
 
virtual double getTimeScale (int batchIdx)
 
bool getUpdatedDeviceActivityFlag ()
 
bool getUpdatedDeviceDatastoreFlag ()
 
bool getUpdatedDeviceGSynFlag ()
 
bool getUpdateGpu ()
 
float * getV ()
 
float getValueBC ()
 
float getVertexA (int n) const
 
float getVertexV (int n) const
 
float getVThresh () const
 
float getVWidth () const
 
int getXScale ()
 
int getYScale ()
 
int increaseDelayLevels (int neededDelay)
 
virtual int insertProbe (LayerProbe *probe)
 
int ioParams (enum ParamsIOFlag ioFlag)
 
bool isAllInputReady ()
 
bool isExchangeFinished (int delay=0)
 
bool isExtended ()
 
bool isUsingGPU () const
 
bool layerListsVerticesInParams () const
 
int mirrorInteriorToBorder (PVLayerCube *cube, PVLayerCube *borderCube)
 
virtual int mirrorToEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorth (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorthEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToNorthWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouth (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouthEast (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToSouthWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual int mirrorToWest (PVLayerCube *dest, PVLayerCube *src)
 
virtual bool needUpdate (double simTime, double dt)
 
int outputProbeParams ()
 
virtual int outputState (double timef)
 
virtual int publish (Communicator *comm, double simTime)
 
virtual int recvAllSynapticInput ()
 
virtual int requireChannel (int channelNeeded, int *numChannelsResult)
 
virtual int requireMarginWidth (int marginWidthNeeded, int *marginWidthResult, char axis)
 
int resetBuffer (float *buf, int numItems)
 
virtual int respond (std::shared_ptr< BaseMessage const > message) override
 
virtual int respondLayerAdvanceDataStore (LayerAdvanceDataStoreMessage const *message)
 
virtual int respondLayerCheckNotANumber (LayerCheckNotANumberMessage const *message)
 
virtual int respondLayerCopyFromGpu (LayerCopyFromGpuMessage const *message)
 
virtual int respondLayerOutputState (LayerOutputStateMessage const *message)
 
virtual int respondLayerPublish (LayerPublishMessage const *message)
 
virtual int respondLayerRecvSynapticInput (LayerRecvSynapticInputMessage const *message)
 
virtual int respondLayerUpdateState (LayerUpdateStateMessage const *message)
 
void setAllocDeviceActiveIndices ()
 
void setAllocDeviceActivity ()
 
void setAllocDeviceDatastore ()
 
void setAllocDeviceGSyn ()
 
void setAllocDeviceV ()
 
void setUpdatedDeviceActivityFlag (bool in)
 
void setUpdatedDeviceDatastoreFlag (bool in)
 
void setUpdatedDeviceGSynFlag (bool in)
 
virtual void syncGpu ()
 
void synchronizeMarginWidth (HyPerLayer *layer)
 
virtual int updateActiveIndices ()
 
virtual int updateAllActiveIndices ()
 
virtual int updateState (double time, double dt) override
 
bool useMirrorBCs ()
 
virtual int waitOnPublish (Communicator *comm)
 
virtual int writeActivity (double timed)
 
virtual int writeActivitySparse (double timed)
 

Static Public Member Functions

static bool localDimensionsEqual (PVLayerLoc const *loc1, PVLayerLoc const *loc2)
 

Data Fields

PVLayerclayer
 

Protected Member Functions

void addPublisher ()
 
virtual int allocateActivity ()
 
template<typename T >
int allocateBuffer (T **buf, int bufsize, const char *bufname)
 
virtual int allocateBuffers ()
 
virtual int allocateClayerBuffers ()
 
int allocateCube ()
 
virtual int allocateDataStructures () override
 
virtual int allocateDeviceBuffers ()
 
int allocateExtendedBuffer (float **buf, const char *bufname)
 
virtual int allocateGSyn ()
 
virtual int allocatePrevActivity ()
 
int allocateRestrictedBuffer (float **buf, const char *bufname)
 
virtual int allocateUpdateKernel ()
 
virtual int allocateV ()
 
void calcNumExtended ()
 
void checkpointPvpActivityFloat (Checkpointer *checkpointer, char const *bufferName, float *pvpBuffer, bool extended)
 
void checkpointRandState (Checkpointer *checkpointer, char const *bufferName, Random *randState, bool extendedFlag)
 
virtual int checkVertices () const
 
virtual int cleanup ()
 
virtual int communicateInitInfo (CommunicateInitInfoMessage const *message) override
 
virtual int copyInitialStateToGPU () override
 
template<typename T >
int freeBuffer (T **buf)
 
void freeChannels ()
 
int freeClayer ()
 
int freeExtendedBuffer (float **buf)
 
int freeRestrictedBuffer (float **buf)
 
virtual int initClayer ()
 
int initialize (const char *name, HyPerCol *hc)
 
virtual int initializeActivity ()
 
virtual int initializeState () overridefinal
 
virtual int initializeV ()
 
virtual int ioParamsFillGroup (enum ParamsIOFlag ioFlag) override
 
virtual bool needReset (double timed, double dt)
 
int openOutputStateFile (Checkpointer *checkpointer)
 
virtual int prepareCheckpointWrite ()
 
virtual int processCheckpointRead () override
 
virtual int readActivityFromCheckpoint (Checkpointer *checkpointer)
 
virtual int readDelaysFromCheckpoint (Checkpointer *checkpointer)
 
virtual int readStateFromCheckpoint (Checkpointer *checkpointer) override
 
virtual int readVFromCheckpoint (Checkpointer *checkpointer)
 
virtual int registerData (Checkpointer *checkpointer) override
 
virtual int resetGSynBuffers (double timef, double dt) override
 
virtual int resetStateOnTrigger ()
 
int respondAllocateData (AllocateDataMessage const *message)
 
int respondCleanup (CleanupMessage const *message)
 
int respondCommunicateInitInfo (CommunicateInitInfoMessage const *message)
 
int respondCopyInitialStateToGPUMessage (CopyInitialStateToGPUMessage const *message)
 
int respondInitializeState (InitializeStateMessage const *message)
 
int respondPrepareCheckpointWrite (PrepareCheckpointWriteMessage const *message)
 
int respondProcessCheckpointRead (ProcessCheckpointReadMessage const *message)
 
int respondReadStateFromCheckpoint (ReadStateFromCheckpointMessage< Checkpointer > const *message)
 
int respondRegisterData (RegisterDataMessage< Checkpointer > const *message)
 
virtual int runUpdateKernel ()
 
virtual int setActivity () override
 
void setDataStructuresAllocatedFlag ()
 
virtual int setDescription ()
 
virtual int setInitialValues ()
 
void setInitialValuesSetFlag ()
 
void setInitInfoCommunicatedFlag ()
 
int setLayerLoc (PVLayerLoc *layerLoc, float nxScale, float nyScale, int nf, int numBatches)
 
int setName (char const *name)
 
int setParent (HyPerCol *hc)
 
void setSlopes ()
 
virtual int setVertices ()
 
void updateNBands (int numCalls)
 
virtual int updateStateGpu (double timef, double dt)
 

Static Protected Member Functions

static int equalizeMargins (HyPerLayer *layer1, HyPerLayer *layer2)
 

Protected Attributes

bool allocDeviceActiveIndices
 
bool allocDeviceActivity
 
bool allocDeviceDatastore
 
bool allocDeviceGSyn
 
bool allocDeviceV
 
float AMax = FLT_MAX
 
float AMin = -FLT_MAX
 
float AShift
 
PVCuda::CudaBuffer * d_ActiveIndices
 
PVCuda::CudaBuffer * d_Activity
 
PVCuda::CudaBuffer * d_Datastore
 
PVCuda::CudaBuffer * d_GSyn
 
PVCuda::CudaBuffer * d_numActive
 
PVCuda::CudaBuffer * d_V
 
PVDataType dataType
 
char * dataTypeString
 
std::string description
 
PVCuda::CudaTimer * gpu_recvsyn_timer
 
PVCuda::CudaTimer * gpu_update_timer
 
float ** GSyn
 
bool initializeFromCheckpointFlag = true
 
double initialWriteTime
 
char * initVTypeString = nullptr
 
Timerio_timer
 
PVCuda::CudaKernel * krUpdate
 
int * marginIndices
 
float maxRate
 
bool mDataStructuresAllocatedFlag = false
 
bool mHasReceived = false
 
bool mHasUpdated = false
 
bool mInitialValuesSetFlag = false
 
bool mInitInfoCommunicatedFlag = false
 
BaseInitVmInitVObject = nullptr
 
bool mirrorBCflag
 
double mLastTriggerTime
 
double mLastUpdateTime
 
bool mNeedToPublish = true
 
CheckpointableFileStreammOutputStateStream = nullptr
 
bool mUsingGPUFlag = false
 
char * name = nullptr
 
int numChannels
 
int numDelayLevels
 
int numFeatures
 
int numMargin
 
int numProbes
 
int numSynchronizedMarginWidthLayers
 
int numVertices = 0
 
float nxScale
 
float nyScale
 
HyPerColparent = nullptr
 
int phase
 
LayerProbe ** probes
 
Timerpublish_timer
 
Publisherpublisher = nullptr
 
std::vector< BaseConnection * > recvConns
 
bool recvGpu
 
Timerrecvsyn_timer
 
unsigned int rngSeedBase
 
float slopeNegInf = 1.0f
 
float slopePosInf = 1.0f
 
float * slopes = nullptr
 
bool sparseLayer
 
HyPerLayer ** synchronizedMarginWidthLayers
 
float ** thread_gSyn
 
Timertimescale_timer
 
char * triggerBehavior
 
TriggerBehaviorType triggerBehaviorType
 
bool triggerFlag
 
HyPerLayertriggerLayer
 
char * triggerLayerName
 
double triggerOffset
 
HyPerLayertriggerResetLayer
 
char * triggerResetLayerName
 
Timerupdate_timer
 
bool updatedDeviceActivity
 
bool updatedDeviceDatastore
 
bool updatedDeviceGSyn
 
bool updateGpu
 
float valueBC
 
float * verticesA = nullptr
 
bool verticesListInParams
 
float * verticesV = nullptr
 
float VThresh = -FLT_MAX
 
float VWidth = (float)0
 
int writeActivityCalls
 
int writeActivitySparseCalls
 
double writeStep
 
double writeTime
 
int xmargin
 
int ymargin
 

Private Member Functions

int initialize_base ()
 

Detailed Description

Definition at line 17 of file ANNSquaredLayer.hpp.

Member Function Documentation

void PV::HyPerLayer::addRecvConn ( BaseConnection conn)
inherited

Adds the given connection to the vector of connections to receive input from. The connection's post-synaptic layer must be the layer for which this member function is called.

Definition at line 1224 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateDeviceBuffers ( )
protectedvirtualinherited

Allocate GPU buffers. This must be called after PVLayer data have been allocated.

Definition at line 1085 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateExtendedBuffer ( float **  buf,
const char *  bufname 
)
protectedinherited

Allocates an extended buffer (that is, buffer's length is getNumExtendedAllBatches()).

Definition at line 340 of file HyPerLayer.cpp.

int PV::HyPerLayer::allocateRestrictedBuffer ( float **  buf,
const char *  bufname 
)
protectedinherited

Allocates a restricted buffer (that is, buffer's length is getNumNeuronsAllBatches()).

Definition at line 336 of file HyPerLayer.cpp.

int PV::ANNLayer::checkVertices ( ) const
protectedvirtualinherited

ANNLayer::initialize() calls this function to perform sanity checking on the vertices. Returns PV_SUCCESS or PV_FAILURE to indicate whether the vertices are acceptable. For ANNLayer::checkVertices(), fails if the sequence of V vertices ever decreases. If the sequence of A vertices ever decreases, outputs a warning but does not fail.

Reimplemented in PV::ANNErrorLayer.

Definition at line 386 of file ANNLayer.cpp.

int PV::HyPerLayer::freeExtendedBuffer ( float **  buf)
protectedinherited

Frees a buffer created by allocateRestrictedBuffer(). Note that there is no checking whether the buffer was created by allocateExtendedBuffer(), or any other allocateBuffer()-related method.

Definition at line 264 of file HyPerLayer.cpp.

int PV::HyPerLayer::freeRestrictedBuffer ( float **  buf)
protectedinherited

Frees a buffer created by allocateRestrictedBuffer(). Note that there is no checking whether the buffer was created by allocateRestrictedBuffer(), or any other allocateBuffer()-related method.

Definition at line 262 of file HyPerLayer.cpp.

bool PV::BaseObject::getDataStructuresAllocatedFlag ( )
inlineinherited

Get-method for mDataStructuresAllocatedFlag, which is false on initialization and then becomes true once setDataStructuresAllocatedFlag() is called.

Definition at line 65 of file BaseObject.hpp.

double PV::HyPerLayer::getDeltaTriggerTime ( )
virtualinherited

A function to return the interval between triggering times. A negative value means that the layer never triggers (either there is no triggerLayer or the triggerLayer never updates).

Definition at line 1673 of file HyPerLayer.cpp.

double PV::HyPerLayer::getDeltaUpdateTime ( )
virtualinherited

A function to return the interval between times when updateState is needed.

Reimplemented in PV::InputLayer, PV::ImageFromMemoryBuffer, PV::ISTALayer, and PV::HyPerLCALayer.

Definition at line 1664 of file HyPerLayer.cpp.

bool PV::BaseObject::getInitialValuesSetFlag ( )
inlineinherited

Get-method for mInitialValuesSetFlag, which is false on initialization and then becomes true once setInitialValuesSetFlag() is called.

Definition at line 71 of file BaseObject.hpp.

bool PV::BaseObject::getInitInfoCommunicatedFlag ( )
inlineinherited

Get-method for mInitInfoCommunicatedFlag, which is false on initialization and then becomes true once setInitInfoCommunicatedFlag() is called.

Definition at line 58 of file BaseObject.hpp.

const float * PV::HyPerLayer::getLayerData ( int  delay = 0)
inherited

Returns the activity data for the layer. This data is in the extended space (with margins).

Definition at line 1563 of file HyPerLayer.cpp.

int PV::ANNLayer::getNumVertices ( ) const
inlineinherited

Returns the number of points in verticesV and verticesA.

Definition at line 41 of file ANNLayer.hpp.

float PV::ANNLayer::getVertexA ( int  n) const
inlineinherited

Returns the V-coordinate of the the nth vertex (zero-indexed). If n is out of bounds, returns NaN.

Definition at line 60 of file ANNLayer.hpp.

float PV::ANNLayer::getVertexV ( int  n) const
inlineinherited

Returns the V-coordinate of the the nth vertex (zero-indexed). If n is out of bounds, returns NaN.

Definition at line 47 of file ANNLayer.hpp.

void PV::HyPerLayer::ioParam_initializeFromCheckpointFlag ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

initializeFromCheckpointFlag: If set to true, initialize using checkpoint direcgtory set in HyPerCol.

Checkpoint read directory must be set in HyPerCol to initialize from checkpoint.

Definition at line 705 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_InitVType ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

initVType: Specifies how to initialize the V buffer.

Possible choices include

Further parameters are needed depending on initialization type.

Reimplemented in PV::InputLayer, PV::Retina, and PV::CloneVLayer.

Definition at line 715 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_nxScale ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

nxScale: Defines the relationship between the x column size and the layer size.

Must be 2^n or 1/2^n

Definition at line 673 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_nyScale ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

nyScale: Defines the relationship between the y column size and the layer size.

Must be 2^n or 1/2^n

Definition at line 677 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerBehavior ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

triggerBehavior: If triggerLayerName is set, this parameter specifies how the trigger is handled.

The possible values of triggerBehavior are:

  • "updateOnlyOnTrigger": updateState is called (computing activity buffer from GSyn) only on triggering timesteps. On other timesteps the layer's state remains unchanged.
  • "resetStateOnTrigger": On timesteps where the trigger occurs, the membrane potential is copied from the layer specified in triggerResetLayerName and setActivity is called. On nontriggering timesteps, updateState is called. For backward compatibility, this parameter defaults to updateOnlyOnTrigger.

Definition at line 803 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerFlag ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

triggerFlag: (Deprecated) Specifies if this layer is being triggered

Defaults to false. This flag is deprecated. To turn triggering off, set triggerLayer to NULL or the empty string. It is an error to set this flag to false and triggerLayer to a nonempty string.

Definition at line 753 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_triggerOffset ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

triggerOffset: If triggerLayer is set, triggers <triggerOffset> timesteps before target trigger

Defaults to 0

Definition at line 790 of file HyPerLayer.cpp.

void PV::HyPerLayer::ioParam_writeStep ( enum ParamsIOFlag  ioFlag)
protectedvirtualinherited

writeStep: Specifies how often to output a pvp file for this layer

Defaults to every timestep. -1 specifies not to write at all.

Definition at line 854 of file HyPerLayer.cpp.

int PV::ANNLayer::ioParamsFillGroup ( enum ParamsIOFlag  ioFlag)
overrideprotectedvirtualinherited

The function that calls all ioParam functions

Reimplemented from PV::HyPerLayer.

Reimplemented in PV::HyPerLCALayer, PV::ISTALayer, PV::LabelErrorLayer, PV::LeakyIntegrator, PV::MaskLayer, PV::MomentumLCALayer, PV::ANNErrorLayer, and PV::DropoutLayer.

Definition at line 89 of file ANNLayer.cpp.

bool PV::HyPerLayer::isAllInputReady ( )
inherited

Returns true if each layer that delivers input to this layer has finished its MPI exchange for its delay; false if any of them has not.

Definition at line 1911 of file HyPerLayer.cpp.

bool PV::HyPerLayer::isExchangeFinished ( int  delay = 0)
inherited

Returns true if the MPI exchange for the specified delay has finished; false if it is still in process.

Definition at line 1909 of file HyPerLayer.cpp.

bool PV::BaseObject::isUsingGPU ( ) const
inlineinherited

Returns true if the object requires the GPU; false otherwise. HyPerCol will not initialize the GPU unless one of the objects in its hierarchy returns true

Definition at line 79 of file BaseObject.hpp.

bool PV::ANNLayer::layerListsVerticesInParams ( ) const
inlineinherited

Returns true if the params file specifies the transfer function using verticesV, verticesA, slopeNegInf, and slopePosInf. Returns false otherwise, in which case the above parameters are computed internally from VThresh, AMin, AMax, AShift, and VWidth.

Definition at line 30 of file ANNLayer.hpp.

bool PV::HyPerLayer::needReset ( double  timed,
double  dt 
)
protectedvirtualinherited

Returns true if the trigger behavior is resetStateOnTrigger and the layer was triggered.

Definition at line 1705 of file HyPerLayer.cpp.

bool PV::HyPerLayer::needUpdate ( double  simTime,
double  dt 
)
virtualinherited

A virtual function to determine if callUpdateState method needs to be called Default behavior is dependent on the triggering method. If there is no triggering, always returns true. If there is triggering and the trigger behavior is updateOnlyOnTrigger, returns true only when there is a triggering event. If there is triggering and the trigger behavior is resetStateOnTrigger, returns true only when there is not a trigger event.

Parameters
timeThe current timestep of the run
dtThe current non-adaptive dt of the run
Returns
Returns if the update needs to happen

Reimplemented in PV::ImageFromMemoryBuffer, PV::FilenameParsingGroundTruthLayer, and PV::ConstantLayer.

Definition at line 1682 of file HyPerLayer.cpp.

int PV::HyPerLayer::resetStateOnTrigger ( )
protectedvirtualinherited

Called instead of updateState when triggerBehavior is "resetStateOnTrigger" and a triggering event occurs. Copies the membrane potential V from triggerResetLayer and then calls setActivity to update A.

Definition at line 1756 of file HyPerLayer.cpp.

void PV::BaseObject::setDataStructuresAllocatedFlag ( )
inlineprotectedinherited

This method sets mDataStructuresAllocatedFlag to true.

Definition at line 111 of file BaseObject.hpp.

void PV::BaseObject::setInitialValuesSetFlag ( )
inlineprotectedinherited

This method sets the flag returned by getInitialValuesSetFlag to true.

Definition at line 116 of file BaseObject.hpp.

void PV::BaseObject::setInitInfoCommunicatedFlag ( )
inlineprotectedinherited

This method sets mInitInfoCommunicatedFlag to true.

Definition at line 106 of file BaseObject.hpp.

void PV::ANNLayer::setSlopes ( )
protectedinherited

ANNLayer::initialize() calls this function to compute the slopes between vertices.

Definition at line 359 of file ANNLayer.cpp.

int PV::ANNLayer::setVertices ( )
protectedvirtualinherited

If the params file does not specify verticesV and verticesA explicitly, ANNLayer::initialize() calls this function to compute the vertices.

Reimplemented in PV::ANNErrorLayer.

Definition at line 214 of file ANNLayer.cpp.

Field Documentation

float PV::ANNLayer::AShift
protectedinherited
Initial value:
=
(float)0

Definition at line 203 of file ANNLayer.hpp.

bool PV::ANNLayer::verticesListInParams
protectedinherited
Initial value:
=
false

Definition at line 190 of file ANNLayer.hpp.


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