DaNNet
Public Member Functions | Private Attributes | List of all members
dnn::layer_input Class Reference

Input/data layer class. More...

#include <dnn_layer_input.h>

Inheritance diagram for dnn::layer_input:
dnn::layer

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...
 
- 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 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_Dtypeget_B (void)
 Get bias. More...
 
virtual arma::Cube< DNN_Dtypeget_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 optget_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_Dtypeget_Y1 (void)
 Get output buffer. More...
 
virtual arma::Mat< DNN_Dtype > * get_Y1_ptr (void)
 Get output buffer pointer. More...
 
virtual DNN_Dtypeget_Y1_memptr (void)
 Get output buffer memory pointer. More...
 
virtual arma::Mat< DNN_Dtypeget_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_Dtypeget_Y_memptr (void)
 Get output buffer memory pointer - mini batch. More...
 
virtual DNN_Dtypeget_Y_colptr (const arma::uword n)
 Get output buffer memory column pointer - mini batch. More...
 
virtual arma::Mat< DNN_Dtypeget_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_Dtypeget_Dleft_memptr (void)
 Get error buffer memory pointer - mini batch. More...
 
virtual DNN_Dtypeget_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_Dtypesigmoid (const arma::Mat< DNN_Dtype > &x)
 Sigmoid function - matrix. More...
 
arma::Mat< DNN_Dtypesoftmax (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

- Protected Attributes inherited from dnn::layer
layerleft
 Pointer to previous layer. More...
 
layerright
 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...
 
optopt_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_DtypeY
 Output buffer mini batch [N_right,N_batch]. More...
 
arma::Mat< DNN_DtypeY1
 Output buffer [N_right,1]. More...
 
arma::Mat< DNN_DtypeDleft
 Error buffer [N_left,N_batch]. More...
 
arma::Cube< DNN_DtypeW
 Weights. More...
 
arma::Mat< DNN_DtypeB
 Bias. More...
 

Detailed Description

Input/data layer class.

Implements the data/input layer

Definition at line 28 of file dnn_layer_input.h.

Constructor & Destructor Documentation

◆ layer_input()

dnn::layer_input::layer_input ( const arma::uword  n_rows,
const arma::uword  n_cols = 1,
const arma::uword  n_channels = 1 
)
inline

Input layer constructor.

Parameters
[in]n_rowsNumber of input rows
[in]n_colsNumber of input columns
[in]n_channelsNumber of input channels

Definition at line 41 of file dnn_layer_input.h.

Member Function Documentation

◆ disp()

void dnn::layer_input::disp ( void  )
inlinevirtual

Display info about layer.

Reimplemented from dnn::layer.

Definition at line 125 of file dnn_layer_input.h.

◆ init()

void dnn::layer_input::init ( void  )
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.

◆ prop()

void dnn::layer_input::prop ( void  )
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.

◆ prop_mb()

void dnn::layer_input::prop_mb ( void  )
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.

◆ reset_batch_ctr()

void dnn::layer_input::reset_batch_ctr ( void  )
inline

Resets data counter.

Definition at line 81 of file dnn_layer_input.h.

◆ set_data()

void dnn::layer_input::set_data ( const arma::Mat< DNN_Dtype > *  data)
inline

Sets new data.

Parameters
[in]dataPointer 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.

Member Data Documentation

◆ data_ctr

arma::uword dnn::layer_input::data_ctr
private

Data counter = index of current data.

Definition at line 33 of file dnn_layer_input.h.

◆ data_in

const arma::Mat<DNN_Dtype>* dnn::layer_input::data_in
private

Data input pointer.

Definition at line 31 of file dnn_layer_input.h.

◆ data_len

arma::uword dnn::layer_input::data_len
private

Number of samples in the input data.

Definition at line 32 of file dnn_layer_input.h.


The documentation for this class was generated from the following file: