|
DaNNet
|
A fully connected/dense layer class. More...
#include <dnn_layer_dense.h>
Public Member Functions | |
| layer_dense (const arma::uword n_rows) | |
| Dense layer constructor. More... | |
| void | init (void) |
| Initialization of layer. More... | |
| void | prop (void) |
| Forward propagation though layer. More... | |
| void | prop_mb (void) |
| Forward mini batch propagation though layer. More... | |
| void | backprop (void) |
| Backpropagation of mini batch propagation though layer. More... | |
| void | update (void) |
| Updates the trainable parameters. More... | |
| arma::uword | get_nrof_params (void) |
| Get info about number of trainable parameters in layer. More... | |
| void | disp (void) |
| Display info about layer. More... | |
| arma::Mat< DNN_Dtype > | weights2img (const arma::uword R, const arma::uword C) |
| Generate an image of the weights. More... | |
Public Member Functions inherited from dnn::layer | |
| layer (void) | |
| Layer constructor. More... | |
| ~layer () | |
| virtual void | upd_buf_size (arma::uword nmb) |
| Update layer buffer sizes. More... | |
| virtual void | enable_training (void) |
| Enable training of layer. More... | |
| virtual void | disable_training (void) |
| Disable training of layer. More... | |
| virtual void | enable_bias (void) |
| Enable bias term in layer. More... | |
| virtual void | disable_bias (void) |
| Disable bias term in layer. More... | |
| virtual arma::Mat< DNN_Dtype > | get_B (void) |
| Get bias. More... | |
| virtual arma::Cube< DNN_Dtype > | get_W (void) |
| Get weights. More... | |
| virtual void | set_B (arma::Mat< DNN_Dtype > &b) |
| Set bias. More... | |
| virtual void | set_W (arma::Cube< DNN_Dtype > &w) |
| Set weights. More... | |
| virtual void | set_phase (PHASE p) |
| Set phase/state. More... | |
| virtual void | set_left (layer *lptr) |
| Set pointer to left layer. More... | |
| virtual void | set_right (layer *rptr) |
| Set pointer to right layer. More... | |
| virtual void | set_id (const std::string str) |
| Set layer id string. More... | |
| virtual std::string | get_id (void) |
| Get layer id string. More... | |
| virtual void | set_type (const std::string str) |
| Set layer type string. More... | |
| virtual std::string | get_type (void) |
| Get layer type string. More... | |
| virtual void | set_ix (const arma::uword n) |
| Set layer index. More... | |
| virtual arma::uword | get_ix (void) |
| Get layer index. More... | |
| virtual void | set_batch_size (const arma::uword n) |
| Set mini batch size. More... | |
| virtual arma::uword | get_batch_size (void) |
| Get mini batch size. More... | |
| virtual void | set_Y1 (arma::Mat< DNN_Dtype > &y) |
| Set output buffer. More... | |
| virtual void | set_Y (arma::Mat< DNN_Dtype > &y) |
| Set output buffer - mini batch. More... | |
| virtual void | set_Dleft (arma::Mat< DNN_Dtype > &d) |
| Set error output buffer - mini batch. More... | |
| virtual void | set_rows_in (arma::uword r) |
| Set input buffer row size. More... | |
| virtual arma::uword | get_nrof_rows (void) |
| Get output buffer row size. More... | |
| virtual void | set_cols_in (arma::uword c) |
| Set input buffer column size. More... | |
| virtual arma::uword | get_nrof_cols (void) |
| Get output buffer column size. More... | |
| virtual void | set_channels_in (arma::uword l) |
| Set input buffer channel/layer size. More... | |
| virtual arma::uword | get_nrof_channels (void) |
| Get output buffer channel/layer size. More... | |
| virtual void | set_opt_alg (opt &alg_class) |
| Set pointer to optimizer class. More... | |
| virtual opt * | get_opt_alg (void) |
| Get pointer to optimizer class. More... | |
| virtual arma::uword | get_nrof_inputs (void) |
| Get total number of layer inputs. More... | |
| virtual arma::uword | get_nrof_outputs (void) |
| Get total number of layer outputs. More... | |
| virtual arma::Mat< DNN_Dtype > | get_Y1 (void) |
| Get output buffer. More... | |
| virtual arma::Mat< DNN_Dtype > * | get_Y1_ptr (void) |
| Get output buffer pointer. More... | |
| virtual DNN_Dtype * | get_Y1_memptr (void) |
| Get output buffer memory pointer. More... | |
| virtual arma::Mat< DNN_Dtype > | get_Y (void) |
| Get output buffer - mini batch. More... | |
| virtual arma::Mat< DNN_Dtype > * | get_Y_ptr (void) |
| Get output buffer pointer - mini batch. More... | |
| virtual DNN_Dtype * | get_Y_memptr (void) |
| Get output buffer memory pointer - mini batch. More... | |
| virtual DNN_Dtype * | get_Y_colptr (const arma::uword n) |
| Get output buffer memory column pointer - mini batch. More... | |
| virtual arma::Mat< DNN_Dtype > | get_Dleft () |
| Get error buffer - mini batch. More... | |
| virtual arma::Mat< DNN_Dtype > * | get_Dleft_ptr (void) |
| Get error buffer pointer - mini batch. More... | |
| virtual DNN_Dtype * | get_Dleft_memptr (void) |
| Get error buffer memory pointer - mini batch. More... | |
| virtual DNN_Dtype * | get_Dleft_colptr (const arma::uword n) |
| Get error buffer memory column pointer - mini batch. More... | |
| virtual void | save_layer_param (std::string name, PARAM_FORMAT f=PARAM_FORMAT::ASCII) |
| Save layer weight and bias. More... | |
| virtual void | load_layer_param (std::string name, PARAM_FORMAT f=PARAM_FORMAT::AUTO) |
| Load layer weight and bias. More... | |
| template<typename T > | |
| void | init_weights (T &w, arma::uword fan_in, arma::uword fan_out, INIT_W_ALG alg, INIT_W_DIST dist) |
| Initiate weights. More... | |
| DNN_Dtype | sigmoid (const DNN_Dtype x) |
| Sigmoid function - scalar. More... | |
| arma::Mat< DNN_Dtype > | sigmoid (const arma::Mat< DNN_Dtype > &x) |
| Sigmoid function - matrix. More... | |
| arma::Mat< DNN_Dtype > | softmax (const arma::Mat< DNN_Dtype > &x) |
| Softmax function - matrix. More... | |
Additional Inherited Members | |
Protected Attributes inherited from dnn::layer | |
| layer * | left |
| Pointer to previous layer. More... | |
| layer * | right |
| Pointer to next layer. More... | |
| std::string | id |
| Layer id string. More... | |
| std::string | type |
| Layer type string. More... | |
| arma::uword | layer_ix |
| Layer index [0..]. More... | |
| bool | train_par |
| Enable training. More... | |
| bool | add_bias |
| Enable bias. More... | |
| opt * | opt_alg |
| Pointer to optimizer. More... | |
| PHASE | phase |
| Active state/phase. More... | |
| arma::uword | N_batch |
| Mini batch size. More... | |
| arma::uword | N_rows_left |
| Input rows. More... | |
| arma::uword | N_cols_left |
| Input cols. More... | |
| arma::uword | N_channels_left |
| Input channels, number of filters. More... | |
| arma::uword | N_rows_right |
| Output rows. More... | |
| arma::uword | N_cols_right |
| Output cols. More... | |
| arma::uword | N_channels_right |
| Output channels, number of filters. More... | |
| arma::uword | N_left |
| Total size left. More... | |
| arma::uword | N_right |
| Total size right. More... | |
| arma::Mat< DNN_Dtype > | Y |
| Output buffer mini batch [N_right,N_batch]. More... | |
| arma::Mat< DNN_Dtype > | Y1 |
| Output buffer [N_right,1]. More... | |
| arma::Mat< DNN_Dtype > | Dleft |
| Error buffer [N_left,N_batch]. More... | |
| arma::Cube< DNN_Dtype > | W |
| Weights. More... | |
| arma::Mat< DNN_Dtype > | B |
| Bias. More... | |
A fully connected/dense layer class.
A fully connected layer with bias, Y = WX+B, size [N,1] where X is the input [M,1], W is the weight matrix [N,M] and B is the bias [N,1]
Definition at line 30 of file dnn_layer_dense.h.
|
inline |
Dense layer constructor.
| [in] | n_rows | Nr of output rows/nodes |
Definition at line 39 of file dnn_layer_dense.h.
|
inlinevirtual |
Backpropagation of mini batch propagation though layer.
Performas a error backpropagation mini batch pass through layer
Reimplemented from dnn::layer.
Definition at line 95 of file dnn_layer_dense.h.
|
inlinevirtual |
Display info about layer.
Reimplemented from dnn::layer.
Definition at line 137 of file dnn_layer_dense.h.
|
inlinevirtual |
Get info about number of trainable parameters in layer.
Reimplemented from dnn::layer.
Definition at line 129 of file dnn_layer_dense.h.
|
inlinevirtual |
Initialization of layer.
Calculates the output and internal buffer sizes and initializes the parameters
Reimplemented from dnn::layer.
Definition at line 55 of file dnn_layer_dense.h.
|
inlinevirtual |
Forward propagation though layer.
Performas a forward pass through layer
Reimplemented from dnn::layer.
Definition at line 73 of file dnn_layer_dense.h.
|
inlinevirtual |
Forward mini batch propagation though layer.
Performas a forward mini batch pass through layer
Reimplemented from dnn::layer.
Definition at line 84 of file dnn_layer_dense.h.
|
inlinevirtual |
Updates the trainable parameters.
Calculates the gradients and update the trainiable parameters
Reimplemented from dnn::layer.
Definition at line 105 of file dnn_layer_dense.h.
|
inline |
Generate an image of the weights.
| [in] | R | Number of images per rows |
| [in] | C | Number of images per cols |
Flattens weights from layer into a concatenated image
Definition at line 153 of file dnn_layer_dense.h.
1.8.13