OpenANN  1.1.0
An open source library for artificial neural networks.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Input.h
Go to the documentation of this file.
1 #ifndef OPENANN_LAYERS_INPUT_H_
2 #define OPENANN_LAYERS_INPUT_H_
3 
4 #include <OpenANN/layers/Layer.h>
6 
7 namespace OpenANN
8 {
9 
15 class Input : public Layer
16 {
17  int J, dim1, dim2, dim3;
18  Eigen::MatrixXd* x;
19 
20 public:
21  Input(int dim1, int dim2, int dim3);
22  virtual OutputInfo initialize(std::vector<double*>& parameterPointers,
23  std::vector<double*>& parameterDerivativePointers);
24  virtual void initializeParameters();
25  virtual void updatedParameters() {}
26  virtual void forwardPropagate(Eigen::MatrixXd* x, Eigen::MatrixXd*& y,
27  bool dropout, double* error = 0);
28  virtual void backpropagate(Eigen::MatrixXd* ein, Eigen::MatrixXd*& eout,
29  bool backpropToPrevious);
30  virtual Eigen::MatrixXd& getOutput();
31  virtual Eigen::VectorXd getParameters();
32 };
33 
34 } // namespace OpenANN
35 
36 #endif // OPENANN_LAYERS_INPUT_H_