|
ConvNet
1.0
A GPU-based C++ implementation of Convolutional Neural Nets
|
An edge with one-to-one connectivity over spatial locations. More...
#include <conv_onetoone_edge.h>
Public Member Functions | |
| ConvOneToOneEdge (const config::Edge &edge_config) | |
| 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 void | ComputeOuter (Matrix &input, Matrix &deriv_output) |
| Computes the gradient for the weights and biases. More... | |
| virtual int | GetNumModules () const |
| Returns the number of modules. More... | |
| virtual void | SetImageSize (int image_size) |
| Set the spatial size of the input to this edge. More... | |
Public Member Functions inherited from EdgeWithWeight | |
| EdgeWithWeight (const config::Edge &edge_config) | |
| 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 | LoadParameters (hid_t file, const string &edge_name) |
| 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 | SetTiedTo (Edge *e) |
| Sets the edge to be tied to another edge. More... | |
| virtual void | UpdateWeights () |
| Update the weights. More... | |
| Matrix & | GetWeight () |
| Matrix & | GetGradWeight () |
| Matrix & | GetBias () |
| Matrix & | GetGradBias () |
| float | GetDecayedEpsilon (float base_epsilon) const |
| float | GetMomentum () const |
| virtual void | InsertPolyak () |
| virtual void | BackupCurrent () |
| virtual void | LoadCurrentOnGPU () |
| virtual void | LoadPolyakOnGPU () |
Public Member Functions inherited from Edge | |
| Edge (const config::Edge &edge_config) | |
| Instatntiate an Edge from the config. 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 Member Functions inherited from EdgeWithWeight | |
| void | IncrementNumGradsReceived () |
| int | GetNumGradsReceived () |
Protected Attributes inherited from EdgeWithWeight | |
| Matrix | weights_ |
| Matrix | grad_weights_ |
| Matrix | bias_ |
| Matrix | grad_bias_ |
| Optimizer *const | weight_optimizer_ |
| Optimizer *const | bias_optimizer_ |
| EdgeWithWeight * | tied_edge_ |
| vector< Matrix > | polyak_weights_ |
| vector< Matrix > | polyak_bias_ |
| Matrix | weights_backup_ |
| Matrix | bias_backup_ |
| const config::Edge::Initialization | initialization_ |
| const int | polyak_queue_size_ |
| int | polyak_index_ |
| bool | polyak_queue_full_ |
| const float | init_wt_ |
| const float | init_bias_ |
| const bool | has_no_bias_ |
| int | num_grads_received_ |
| int | num_shares_ |
| const float | scale_gradients_ |
| const string | pretrained_model_ |
| const string | pretrained_edge_name_ |
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_ |
An edge with one-to-one connectivity over spatial locations.
|
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 gradient for the weights and biases.
| input | The input to this edge. |
| deriv_output | The derivative w.r.t the output of this edge. |
Reimplemented from 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 EdgeWithWeight.
|
virtual |
Set the spatial size of the input to this edge.
Reimplemented from Edge.
1.8.7