PetaVision  Alpha
ANNErrorLayer.hpp
1 /*
2  * ANNErrorLayer.hpp
3  *
4  * Created on: Jun 21, 2013
5  * Author: gkenyon
6  */
7 
8 #ifndef ANNERRORLAYER_HPP_
9 #define ANNERRORLAYER_HPP_
10 
11 #include "ANNLayer.hpp"
12 
13 namespace PV {
14 
15 class ANNErrorLayer : public PV::ANNLayer {
16  public:
17  ANNErrorLayer(const char *name, HyPerCol *hc);
18  virtual ~ANNErrorLayer();
19 
20  protected:
21  ANNErrorLayer();
22  int initialize(const char *name, HyPerCol *hc);
23  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
24 
35  virtual void ioParam_errScale(enum ParamsIOFlag ioFlag);
36 
42  virtual void ioParam_VThresh(enum ParamsIOFlag ioFlag) override {
44  return;
45  }
46 
50  virtual void ioParam_AMin(enum ParamsIOFlag ioFlag) override {}
51 
55  virtual void ioParam_AMax(enum ParamsIOFlag ioFlag) override {}
56 
60  virtual void ioParam_AShift(enum ParamsIOFlag ioFlag) override {}
61 
65  virtual void ioParam_VWidth(enum ParamsIOFlag ioFlag) override {}
68  virtual int setVertices() override;
69  virtual int checkVertices() const override;
70  virtual Response::Status updateState(double time, double dt) override;
71 
72  private:
73  int initialize_base();
74  float errScale;
75 }; // class ANNErrorLayer
76 
77 } /* namespace PV */
78 #endif /* ANNERRORLAYER_HPP_ */
virtual void ioParam_AMin(enum ParamsIOFlag ioFlag) override
ANNErrorLayer does not use AMin.
virtual void ioParam_AShift(enum ParamsIOFlag ioFlag) override
ANNErrorLayer does not use AShift.
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
virtual int checkVertices() const override
virtual void ioParam_errScale(enum ParamsIOFlag ioFlag)
: errScale: The input to the error layer is multiplied by errScale before applying the threshold...
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.
Definition: ANNLayer.cpp:183
virtual void ioParam_AMax(enum ParamsIOFlag ioFlag) override
ANNErrorLayer does not use AMax.
virtual void ioParam_VWidth(enum ParamsIOFlag ioFlag) override
ANNErrorLayer does not use VWidth.
virtual void ioParam_VThresh(enum ParamsIOFlag ioFlag) override
VThresh: Errors whose absolute value is below VThresh are truncated to zero. If VThresh is negative...
virtual int setVertices() override