DaNNet
Public Member Functions | List of all members
dnn::cost_CE_softmax Class Reference

Cross Entropy cost/output layer class with softmax activation. More...

#include <dnn_layer_cost.h>

Inheritance diagram for dnn::cost_CE_softmax:
dnn::layer_cost dnn::layer

Public Member Functions

 cost_CE_softmax (void)
 
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...
 
DNN_Dtype get_cost (void)
 Get cost. More...
 
void disp (void)
 Display info about layer. More...
 
- Public Member Functions inherited from dnn::layer_cost
 layer_cost (void)
 Dense layer constructor. More...
 
virtual void init (void)
 Initialization of layer. More...
 
virtual void upd_buf_size (arma::uword nmb)
 Updates the buffer sizes. More...
 
virtual arma::Mat< DNN_Dtypeget_T_1 (void)
 Get target buffer. More...
 
virtual void set_data (const arma::Mat< DNN_Dtype > *data)
 Set new target/label data. More...
 
virtual void reset_batch_ctr (void)
 Reset batch counter. More...
 
virtual DNN_Dtype get_acc (void)
 Get accuracy. More...
 
- Public Member Functions inherited from dnn::layer
 layer (void)
 Layer constructor. More...
 
 ~layer ()
 
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...
 

Additional Inherited Members

- Protected Attributes inherited from dnn::layer_cost
const arma::Mat< DNN_Dtype > * data_labels
 
arma::Mat< DNN_DtypeT
 
arma::Mat< DNN_DtypeT1
 
arma::uword data_len
 
arma::uword data_ix
 
- 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

Cross Entropy cost/output layer class with softmax activation.

Definition at line 497 of file dnn_layer_cost.h.

Constructor & Destructor Documentation

◆ cost_CE_softmax()

dnn::cost_CE_softmax::cost_CE_softmax ( void  )
inline

Definition at line 500 of file dnn_layer_cost.h.

Member Function Documentation

◆ backprop()

void dnn::cost_CE_softmax::backprop ( void  )
inlinevirtual

Backpropagation of mini batch propagation though layer.

Performas a error backpropagation mini batch pass through layer

Implements dnn::layer_cost.

Definition at line 550 of file dnn_layer_cost.h.

◆ disp()

void dnn::cost_CE_softmax::disp ( void  )
inlinevirtual

Display info about layer.

Reimplemented from dnn::layer_cost.

Definition at line 569 of file dnn_layer_cost.h.

◆ get_cost()

DNN_Dtype dnn::cost_CE_softmax::get_cost ( void  )
inlinevirtual

Get cost.

Returns
Cost value

Calculates the cost value for a mini batch

Implements dnn::layer_cost.

Definition at line 561 of file dnn_layer_cost.h.

◆ prop()

void dnn::cost_CE_softmax::prop ( void  )
inlinevirtual

Forward propagation though layer.

Performas a forward pass through layer

Reimplemented from dnn::layer_cost.

Definition at line 510 of file dnn_layer_cost.h.

◆ prop_mb()

void dnn::cost_CE_softmax::prop_mb ( void  )
inlinevirtual

Forward mini batch propagation though layer.

Performas a forward pass through layer

Reimplemented from dnn::layer_cost.

Definition at line 525 of file dnn_layer_cost.h.


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