ConvNet
1.0
A GPU-based C++ implementation of Convolutional Neural Nets
|
Implements a Max-pool edge. More...
#include <maxpool_edge.h>
Public Member Functions | |
MaxPoolEdge (const config::Edge &edge_config) | |
virtual void | SetTiedTo (Edge *e) |
Sets the edge to be tied to another edge. More... | |
virtual void | AllocateMemory (bool fprop_only) |
Allocate memory for the model. More... | |
virtual void | ComputeUp (Matrix &input, Matrix &output, bool overwrite) |
Computes the output layer state given the input. More... | |
virtual void | ComputeDown (Matrix &deriv_output, Matrix &input, Matrix &output, Matrix &deriv_input, bool overwrite) |
Computes the derivative w.r.t the inputs of this edge given the derivative w.r.t the outputs of this edge. More... | |
virtual int | GetNumModules () const |
Returns the number of modules. More... | |
virtual bool | RequiresMemoryForDeriv () const |
virtual void | SetImageSize (int image_size) |
Set the spatial size of the input to this edge. More... | |
int | GetKernelSize () const |
int | GetStride () const |
int | GetPadding () const |
Public Member Functions inherited from Edge | |
Edge (const config::Edge &edge_config) | |
Instatntiate an Edge from the config. More... | |
virtual void | Initialize () |
Initialize the weights and biases. More... | |
virtual void | SaveParameters (hid_t file) |
Write the weights and biases in an hdf5 file. More... | |
virtual void | LoadParameters (hid_t file) |
Load the weights and biases from an hdf5 file. More... | |
virtual void | InsertPolyak () |
virtual void | BackupCurrent () |
virtual void | LoadCurrentOnGPU () |
virtual void | LoadPolyakOnGPU () |
virtual float | GetRMSWeight () |
Returns the root mean square weight value. More... | |
virtual void | ReduceLearningRate (float factor) |
Reduce the learning rate by factor. More... | |
virtual bool | HasNoParameters () const |
Returns whether the edge has any parameters. More... | |
virtual void | DisplayWeights () |
Displays the weights. More... | |
virtual void | DisplayWeightStats () |
Displays the statistics of the weights. More... | |
virtual void | ComputeOuter (Matrix &input, Matrix &deriv_output) |
Computes the gradient for the weights and biases. More... | |
virtual void | UpdateWeights () |
Update the weights. More... | |
bool | IsBackPropBlocked () const |
Returns whether back prop is blocked through this edge. More... | |
void | SetSource (Layer *source) |
void | SetDest (Layer *dest) |
Layer * | GetSource () |
Layer * | GetDest () |
const string & | GetSourceName () |
const string & | GetDestName () |
const string & | GetName () |
void | SetInputChannels (int a) |
Set the number of input channels. More... | |
void | SetOutputChannels (int a) |
Set the number of output channels. More... | |
void | SetMark () |
bool | HasMark () |
string | GetTiedEdgeName () |
bool | IsTied () |
int | GetGPUId () const |
void | ComputeStart (Matrix &mat) |
void | ComputeEnd (Matrix &mat) |
Additional Inherited Members | |
Static Public Member Functions inherited from Edge | |
static Edge * | ChooseEdgeClass (const config::Edge &edge_config) |
Selects the appropriate derived class for the edge config. More... | |
Protected Attributes inherited from Edge | |
Layer * | source_ |
Layer * | dest_ |
The source layer for this edge. More... | |
const string | source_node_ |
The destination layer for this edge. More... | |
const string | dest_node_ |
const string | name_ |
const string | tied_edge_name_ |
Edge * | tied_edge_ |
int | num_input_channels_ |
int | num_output_channels_ |
int | image_size_ |
int | num_modules_ |
bool | mark_ |
const bool | block_backprop_ |
A marker. More... | |
const bool | is_tied_ |
ImageDisplayer * | img_display_ |
const int | gpu_id_ |
Implements a Max-pool edge.
|
virtual |
Allocate memory for the model.
fprop_only | If true, does not allocate memory needed for optimization. |
Reimplemented from Edge.
|
virtual |
Computes the derivative w.r.t the inputs of this edge given the derivative w.r.t the outputs of this edge.
deriv_output | Derivative w.r.t outputs of this edge.(In) |
input | The input to this edge.(In) |
output | The output of this edge.(In) |
deriv_input | Derivative w.r.t inputs of this edge.(Out) |
Implements Edge.
Computes the output layer state given the input.
Applies the weights and adds bias.
Implements Edge.
|
inlinevirtual |
Returns the number of modules.
This is relevant for convolution-like edges.
Reimplemented from Edge.
|
virtual |
Set the spatial size of the input to this edge.
Reimplemented from Edge.
|
virtual |
Sets the edge to be tied to another edge.
Reimplemented from Edge.