Deep network
Layer::Pooling Class Reference

#include <pooling.hpp>

Inheritance diagram for Layer::Pooling:

Public Member Functions

 Pooling (size_t nf, size_t ni, size_t nj, size_t p, size_t q)
 
 ~Pooling ()
 
Vector feed_forward (Vector x) override
 
void init_nabla () override
 
Vector back_propagation (Vector e) override
 
void update (Real) 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
 

Public Attributes

size_t nf
 
size_t ni
 
size_t nj
 
size_t p
 
size_t q
 
size_t mi
 
size_t mj
 
- Public Attributes inherited from Layer::Layer
string name
 
size_t n
 
size_t m
 
Vector x
 
Vector y
 
Vector d
 

Constructor & Destructor Documentation

◆ Pooling()

Layer::Pooling::Pooling ( size_t  nf,
size_t  ni,
size_t  nj,
size_t  p,
size_t  q 
)
inline

◆ ~Pooling()

Layer::Pooling::~Pooling ( )
inline

Member Function Documentation

◆ back_propagation()

Vector Layer::Pooling::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::Pooling::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_nabla()

void Layer::Pooling::init_nabla ( )
inlineoverridevirtual

Initialize nabla vectors which are used during gradient descent.

Implements Layer::Layer.

◆ update()

void Layer::Pooling::update ( Real  eta)
inlineoverridevirtual

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

Implements Layer::Layer.

Member Data Documentation

◆ mi

size_t Layer::Pooling::mi

◆ mj

size_t Layer::Pooling::mj

◆ nf

size_t Layer::Pooling::nf

◆ ni

size_t Layer::Pooling::ni

◆ nj

size_t Layer::Pooling::nj

◆ p

size_t Layer::Pooling::p

◆ q

size_t Layer::Pooling::q

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