Deep network
Layer::ConvolutionLayer Class Reference

#include <convolution.hpp>

Inheritance diagram for Layer::ConvolutionLayer:

Public Member Functions

 ConvolutionLayer (size_t nf, size_t ni, size_t nj, size_t p, size_t q, size_t mf)
 
 ~ConvolutionLayer ()
 
void init (Real mu, Real sigma)
 
Vector feed_forward (Vector x) override
 
void init_nabla () override
 
Vector back_propagation (Vector e) override
 
void update (Real eta) override
 
- Public Member Functions inherited from Layer::Layer
 Layer (size_t n, size_t m)
 
 ~Layer ()
 
size_t get_input_size () const
 
size_t get_output_size () const
 
Vector get_output () const
 
virtual Vector feed_forward (Vector x)=0
 
virtual void init_nabla ()=0
 
virtual Vector back_propagation (Vector e)=0
 
virtual void update (Real eta)=0
 

Additional Inherited Members

- Public Attributes inherited from Layer::Layer
string name
 
size_t n
 
size_t m
 
Vector x
 
Vector y
 
Vector d
 

Constructor & Destructor Documentation

◆ ConvolutionLayer()

Layer::ConvolutionLayer::ConvolutionLayer ( size_t  nf,
size_t  ni,
size_t  nj,
size_t  p,
size_t  q,
size_t  mf 
)

◆ ~ConvolutionLayer()

Layer::ConvolutionLayer::~ConvolutionLayer ( )

Member Function Documentation

◆ back_propagation()

Vector Layer::ConvolutionLayer::back_propagation ( Vector  e)
overridevirtual

Apply back propagation algorithm on the delta output vector d. Used the input vector stored in x_in_ref during feedforward. Return a reference to the computed (and stored) input delta vector. Nabla vectors must be computed here.

Implements Layer::Layer.

◆ feed_forward()

Vector Layer::ConvolutionLayer::feed_forward ( Vector  x)
overridevirtual

Apply the layer to the input vector x. Vectors x_in_ref and x_out must be updated in consequence. Return a reference to x_out.

Implements Layer::Layer.

◆ init()

void Layer::ConvolutionLayer::init ( Real  mu,
Real  sigma 
)

◆ init_nabla()

void Layer::ConvolutionLayer::init_nabla ( )
overridevirtual

Initialize nabla vectors which are used during gradient descent.

Implements Layer::Layer.

◆ update()

void Layer::ConvolutionLayer::update ( Real  eta)
overridevirtual

Update layer parameters using gradient descent algorithm with learning rate eta.

Implements Layer::Layer.


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