Deep network
convolution.hpp
Go to the documentation of this file.
1#ifndef CONVOLUTION_LAYER_HPP
2#define CONVOLUTION_LAYER_HPP
3
4#include <random>
5#include "layer.hpp"
6
7namespace Layer{
8 /*****************************************
9 * Implementation of a convolutionnal Layer
10
11 */
12 class ConvolutionLayer:public Layer{
13
14 private:
15 size_t nf,ni,nj;
16 size_t mf,mi,mj;
17 size_t p,q;
18 Vector K;
19 Vector b;
20 Vector nabla_K;
21 Vector nabla_b;
22
23 public:
24 ConvolutionLayer(size_t nf,size_t ni,size_t nj,size_t p,size_t q,size_t mf);
26 void init(Real mu,Real sigma);
27 Vector feed_forward(Vector x) override;
28 void init_nabla() override;
29 Vector back_propagation(Vector e) override;
30 void update(Real eta) override;
31 };
32}
33#endif
Definition: convolution.hpp:12
~ConvolutionLayer()
Definition: convolution.cpp:20
void init_nabla() override
Definition: convolution.cpp:62
void update(Real eta) override
Definition: convolution.cpp:125
void init(Real mu, Real sigma)
Definition: convolution.cpp:27
Vector back_propagation(Vector e) override
Definition: convolution.cpp:72
ConvolutionLayer(size_t nf, size_t ni, size_t nj, size_t p, size_t q, size_t mf)
Definition: convolution.cpp:5
Vector feed_forward(Vector x) override
Definition: convolution.cpp:39
Vector x
Definition: layer.hpp:32
Definition: activation.hpp:7
double Real
Definition: vector.hpp:9
Real * Vector
Definition: vector.hpp:45