Treats the input as three concatenated vectors: a, b, and c. (The values in 'a' typically fall in the range [0,1].) The output is computed element-wise as a*b + (1-a)*c.
|
| GBlockSwitch (size_t outputs) |
| General-purpose constructor. More...
|
|
| GBlockSwitch (GDomNode *pNode) |
| Deserializing constructor. More...
|
|
| ~GBlockSwitch () |
|
virtual void | backProp (GContext &ctx, const GVec &input, const GVec &output, const GVec &outBlame, GVec &inBlame) const override |
| Evaluates outBlame, and adds to inBlame. (Note that it "adds to" the inBlame because multiple blocks may fork from a common source.) More...
|
|
void | backProp3 (const GVec &inA, const GVec &inB, const GVec &inC, const GVec &outBlame, GVec &inBlameA, GVec &inBlameB, GVec &inBlameC) const |
| A convenience version of backProp that mirrors forwardProp3. More...
|
|
virtual void | forwardProp (GContext &ctx, const GVec &input, GVec &output) const override |
| Evaluate the input, set the output. More...
|
|
void | forwardProp3 (const GVec &inA, const GVec &inB, const GVec &inC, GVec &output) const |
| A special forward prop that accepts three vectors of the same size. More...
|
|
virtual size_t | inputs () const override |
| Returns the number of inputs this block consumes. More...
|
|
virtual std::string | name () const override |
| Returns the name of this block. More...
|
|
virtual size_t | outputs () const override |
| Returns the number of outputs this block produces. More...
|
|
virtual void | resize (size_t inputs, size_t outputs) override |
| Resizes this block. outputs must be 2*inputs. More...
|
|
virtual GDomNode * | serialize (GDom *pDoc) const override |
| Marshall this block into a DOM. More...
|
|
virtual BlockType | type () const override |
| Returns the type of this block. More...
|
|
| GBlockWeightless () |
|
| GBlockWeightless (GDomNode *pNode) |
|
virtual | ~GBlockWeightless () |
|
virtual void | copyWeights (const GBlock *pSource) override |
| Copy the weights from pSource to this block. (Assumes pSource is the same type of block.) More...
|
|
virtual void | diminishWeights (double amount, bool regularizeBiases) override |
| Moves all weights in the direction of zero by the specified amount. More...
|
|
virtual void | maxNorm (double min, double max) override |
| Scales weights if necessary such that the manitude of the weights (not including the bias) feeding into each unit are >= min and <= max. More...
|
|
virtual void | perturbWeights (GRand &rand, double deviation) override |
| Perturbs the weights that feed into the specifed units with Gaussian noise. The default values apply the perturbation to all units. More...
|
|
virtual void | resetWeights (GRand &rand) override |
| Initialize the weights, usually with small random values. More...
|
|
virtual void | scaleWeights (double factor, bool scaleBiases) override |
| Multiplies all the weights by the specified factor. More...
|
|
virtual void | step (double learningRate, const GVec &gradient) override |
| Add the weight and bias gradient to the weights. More...
|
|
virtual void | updateGradient (GContext &ctx, const GVec &input, const GVec &outBlame, GVec &gradient) const override |
| Evaluate the input and outBlame, update the gradient for updating the weights by gradient descent. More...
|
|
virtual size_t | vectorToWeights (const double *pVector) override |
| Deserialize from a vector to the weights in this block. Return the number of elements consumed. More...
|
|
virtual size_t | weightCount () const override |
| Returns the number of double-precision elements necessary to serialize the weights of this block into a vector. More...
|
|
virtual size_t | weightsToVector (double *pOutVector) const override |
| Serialize the weights in this block into a vector. Return the number of elements written. More...
|
|
| GBlock () |
|
| GBlock (GDomNode *pNode) |
|
virtual | ~GBlock () |
|
virtual bool | elementWise () const |
| Returns true iff this block operates only on individual elements. More...
|
|
size_t | inPos () const |
| Returns the offset in the previous layer's output where values are fed as input to this block. More...
|
|
virtual bool | isRecurrent () const |
| Returns true iff this block is recurrent. More...
|
|
void | setInPos (size_t n) |
| Sets the starting offset in the previous layer's output where values will be fed as input to this block. More...
|
|
virtual std::string | to_str () const |
| Returns a string representation of this block. More...
|
|
virtual bool | usesGPU () |
| Returns true iff this block does its computations in parallel on a GPU. More...
|
|