Neural
layer.h
Go to the documentation of this file.
1 
7 #pragma once
8 #ifndef LAYER_H
9 #define LAYER_H
10 
11 #include <iostream>
12 #include <eigen3/Eigen/Dense>
13 #include <jsoncpp/json/json.h>
14 
15 
16 namespace Neural
17 {
18  class Layer
19  {
20  public:
21  virtual Eigen::MatrixXd Forward_propagation(Eigen::MatrixXd input) = 0;
22  virtual Eigen::MatrixXd Backward_propagation(Eigen::MatrixXd output_error, float learning_rate) = 0;
23  virtual Json::Value toJSON() = 0;
24  bool AsWeights();
25 
26  protected:
27  Eigen::MatrixXd m_input;
28  Eigen::MatrixXd m_output;
30 
31  };
32 }
33 #endif
Neural::Layer::Backward_propagation
virtual Eigen::MatrixXd Backward_propagation(Eigen::MatrixXd output_error, float learning_rate)=0
Neural::Layer::m_input
Eigen::MatrixXd m_input
Definition: layer.h:27
Neural::Layer::m_output
Eigen::MatrixXd m_output
Definition: layer.h:28
Neural::Layer::AsWeights
bool AsWeights()
Definition: layer.cpp:18
Neural::Layer::Forward_propagation
virtual Eigen::MatrixXd Forward_propagation(Eigen::MatrixXd input)=0
Neural::Layer::toJSON
virtual Json::Value toJSON()=0
Neural::Layer
Definition: layer.h:18
Neural::Layer::m_as_weight
bool m_as_weight
Definition: layer.h:29
Neural
Definition: activation.h:10