33 virtual void prop(
void) =0;
147 const arma::Mat<DNN_Dtype> I(
N_right,1,arma::fill::ones);
202 for(arma::uword n=0; n<
N_left; n++)
204 *y_ptr++ = (*x_ptr <0) ? (
DNN_Dtype)0.0 : *x_ptr;
219 for(arma::uword n=0; n<N_; n++)
221 *y_ptr++ = (*x_ptr <0) ? (
DNN_Dtype)0.0 : *x_ptr;
237 for(arma::uword n=0; n<N_; n++)
239 *y_ptr++ = (*x_ptr<0 ) ? (
DNN_Dtype)0.0: *d_ptr;
275 for(arma::uword n=0; n<X1.n_elem; n++)
277 Y1(n) = X1(n)<0 ? X1(n)*alpha: X1(n);
291 for(arma::uword n=0; n<N_; n++)
293 *y_ptr++ = (*x_ptr <0) ? *x_ptr*alpha: *x_ptr;
309 for(arma::uword n=0; n<N_; n++)
311 *y_ptr++ = (*x_ptr<0 ) ? *d_ptr*alpha: *d_ptr;
426 for(arma::uword k=0; k<
N_batch; k++ )
428 arma::Mat<DNN_Dtype> jac = -
Y.col(k)*(
Y.col(k).t());
429 jac.diag() +=
Y.col(k);
430 Dleft.col(k) = jac*dO.col(k);
void prop(void)
Forward propagation through layer.
void prop_mb(void)
Forward propagation through layer - mini batch.
std::string type
Layer type string.
void prop(void)
Forward propagation through layer.
arma::Mat< DNN_Dtype > Y
Output buffer mini batch [N_right,N_batch].
void prop_mb(void)
Forward propagation through layer - mini batch.
void backprop(void)
Back propagation through layer - mini batch.
virtual void prop_mb(void)=0
Forward propagation - mini batch.
arma::uword N_rows_left
Input rows.
void prop(void)
Forward propagation through layer.
void prop_mb(void)
Forward propagation through layer - mini batch.
void prop_mb(void)
Forward propagation through layer - mini batch.
layer * right
Pointer to next layer.
void backprop(void)
Back propagation through layer - mini batch.
void prop(void)
Forward propagation through layer.
virtual void disp(void)
Display info about activation layer.
Leaky ReLU activation class.
virtual arma::Mat< DNN_Dtype > get_Dleft()
Get error buffer - mini batch.
virtual arma::Mat< DNN_Dtype > * get_Y1_ptr(void)
Get output buffer pointer.
void backprop(void)
Back propagation through layer - mini batch.
virtual void backprop(void)=0
Back propagation.
arma::uword N_channels_right
Output channels, number of filters.
virtual void prop(void)=0
Forward propagation.
Softmax activation class.
arma::Mat< DNN_Dtype > Dleft
Error buffer [N_left,N_batch].
act_LReLU(void)
LReLU layer constructor.
arma::uword N_cols_left
Input cols.
arma::Mat< DNN_Dtype > Y1
Output buffer [N_right,1].
Softplus activation class.
act_tanh(void)
tanh layer constructor
virtual arma::uword get_nrof_outputs(void)
Get total number of layer outputs.
void backprop(void)
Back propagation through layer - mini batch.
virtual arma::Mat< DNN_Dtype > get_Y1(void)
Get output buffer.
virtual void init(void)
Initialize layer.
virtual arma::Mat< DNN_Dtype > * get_Dleft_ptr(void)
Get error buffer pointer - mini batch.
void prop_mb(void)
Forward propagation through layer - mini batch.
DNN_Dtype sigmoid(const DNN_Dtype x)
Sigmoid function - scalar.
void prop_mb(void)
Forward propagation through layer - mini batch.
virtual void disp(void)
Display info about layer.
virtual void init(void)
Initiation method.
float DNN_Dtype
Data type used in the network (float or double)
void prop(void)
Forward propagation through layer.
arma::uword N_left
Total size left.
arma::uword N_rows_right
Output rows.
Activation layer base class.
void backprop(void)
Back propagation through layer - mini batch.
void prop(void)
Forward propagation through layer.
act_softmax(void)
Softmax layer constructor.
Sigmoid activation class.
void backprop(void)
Back propagation through layer - mini batch.
arma::uword N_batch
Mini batch size.
act_softplus(void)
Softplus layer constructor.
arma::uword N_channels_left
Input channels, number of filters.
act_sigmoid(void)
Sigmoid layer constructor.
void set_leak(DNN_Dtype a)
Set the LReLU leak parameter.
virtual DNN_Dtype * get_Dleft_memptr(void)
Get error buffer memory pointer - mini batch.
arma::uword N_right
Total size right.
virtual DNN_Dtype * get_Y1_memptr(void)
Get output buffer memory pointer.
layer * left
Pointer to previous layer.
arma::uword N_cols_right
Output cols.
virtual DNN_Dtype * get_Y_memptr(void)
Get output buffer memory pointer - mini batch.
virtual arma::Mat< DNN_Dtype > * get_Y_ptr(void)
Get output buffer pointer - mini batch.
arma::Mat< DNN_Dtype > softmax(const arma::Mat< DNN_Dtype > &x)
Softmax function - matrix.
act_ReLU(void)
ReLU layer constructor.