Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

MultiLayerNetwork.h

Go to the documentation of this file.
00001 #ifndef _MULTILAYERNETWORK_H
00002 #define _MULTILAYERNETWORK_H
00003 
00004 
00005 #include "Layer.h"
00006 #include "InputLayer.h"
00007 #include "Network.h"
00008 #include "TrainingSet.h"
00009 
00010 namespace annie
00011 {
00024 class MultiLayerNetwork : public Network
00025 {
00026 protected:
00031         int _nLayers;
00032 
00034         std::vector<Layer *> _layers;
00035 
00037         InputLayer *_inputLayer();
00038 
00040         Layer *_outputLayer();
00041 public:
00045         MultiLayerNetwork(int inputs);
00046 
00048         MultiLayerNetwork(MultiLayerNetwork &srcNet);
00049 
00054         MultiLayerNetwork(const char *filename);
00055 
00056         virtual ~MultiLayerNetwork();
00057 
00059         virtual void addLayer(int size);
00060 
00067         virtual void connectLayer(int srcLayer);
00068 
00075         virtual void connect(int srcLayer, int srcNrn, int destNrn);
00076 
00084         virtual void connect(int srcLayer, int srcNrn, int destNrn, real weight);
00085 
00091         virtual void setBias(int layer, int nrn, real bias);
00092 
00094         virtual int getLayerCount();
00095 
00100         virtual VECTOR getOutput(VECTOR &input);
00101 
00106         virtual VECTOR getOutput(real *input);
00107 
00116         virtual void train(TrainingSet &T, int epochs, real learningRate, real momentum = 0.0);
00117         
00128         virtual void train(TrainingSet &T, int epochs, real learningRate, real momentum, bool verbose);
00129 
00135         virtual void save(const char *filename);
00136 
00145         virtual void setActivationFunction(int layer, ActivationFunction f, ActivationFunction df);
00146 
00148         virtual const char *getClassName();
00149 };
00150 }; //namespace annie
00151 #endif // define _MULTILAYERNETWORK_H
00152 

Generated on Wed Apr 23 10:42:33 2003 for BioFilter by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002