DaNNet
|
Input/data layer class. More...
#include <dnn_layer_input.h>
Public Member Functions | |
layer_input (const arma::uword n_rows, const arma::uword n_cols=1, const arma::uword n_channels=1) | |
Input layer constructor. More... | |
void | init (void) |
Initialization of layer. More... | |
void | set_data (const arma::Mat< DNN_Dtype > *data) |
Sets new data. More... | |
void | reset_batch_ctr (void) |
Resets data counter. More... | |
void | prop (void) |
Forward propagation though layer. More... | |
void | prop_mb (void) |
Forward mini batch propagation though layer. More... | |
void | disp (void) |
Display info about layer. More... | |
![]() | |
layer (void) | |
Layer constructor. More... | |
~layer () | |
virtual void | upd_buf_size (arma::uword nmb) |
Update layer buffer sizes. More... | |
virtual void | backprop (void) |
Back propagation. More... | |
virtual void | update (void) |
Parameter update. 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 arma::uword | get_nrof_params (void) |
Get number of trainable parameters. 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... | |
Private Attributes | |
const arma::Mat< DNN_Dtype > * | data_in |
Data input pointer. More... | |
arma::uword | data_len |
Number of samples in the input data. More... | |
arma::uword | data_ctr |
Data counter = index of current data. More... | |
Additional Inherited Members | |
![]() | |
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... | |
Input/data layer class.
Implements the data/input layer
Definition at line 28 of file dnn_layer_input.h.
|
inline |
Input layer constructor.
[in] | n_rows | Number of input rows |
[in] | n_cols | Number of input columns |
[in] | n_channels | Number of input channels |
Definition at line 41 of file dnn_layer_input.h.
|
inlinevirtual |
Display info about layer.
Reimplemented from dnn::layer.
Definition at line 125 of file dnn_layer_input.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_input.h.
|
inlinevirtual |
Forward propagation though layer.
Performas a forward pass through layer
Reimplemented from dnn::layer.
Definition at line 91 of file dnn_layer_input.h.
|
inlinevirtual |
Forward mini batch propagation though layer.
Performas a forward mini batch pass through layer
Reimplemented from dnn::layer.
Definition at line 103 of file dnn_layer_input.h.
|
inline |
Resets data counter.
Definition at line 81 of file dnn_layer_input.h.
|
inline |
Sets new data.
[in] | data | Pointer to input data matrix |
Points out the new data input and update/clear internal parameters
Definition at line 71 of file dnn_layer_input.h.
|
private |
Data counter = index of current data.
Definition at line 33 of file dnn_layer_input.h.
|
private |
Data input pointer.
Definition at line 31 of file dnn_layer_input.h.
|
private |
Number of samples in the input data.
Definition at line 32 of file dnn_layer_input.h.