00001 #ifndef _NETWORK_H 00002 #define _NETWORK_H 00003 00004 #include "Neuron.h" 00005 #include "InputNeuron.h" 00006 #include "Link.h" 00007 #include <vector> 00008 #include <string> 00009 00010 namespace annie 00011 { 00012 00023 class Network 00024 { 00025 protected: 00029 int _nInputs; 00030 00032 int _nOutputs; 00033 00035 std::string _metaData; 00036 public: 00042 Network(int inputs,int outputs); 00043 00045 Network(Network &); 00046 00047 virtual ~Network(); 00048 00057 virtual VECTOR getOutput(VECTOR &input)=0; 00058 00060 virtual VECTOR getOutput(real *input); 00061 00066 virtual void setMetaData(const char *metaData); 00067 00072 virtual void setMetaData(std::string metaData); 00073 00075 virtual std::string getMetaData(); 00076 00078 virtual int getInputCount(); 00079 00081 virtual int getOutputCount(); 00082 00087 virtual const char* getClassName()=0; 00088 00090 static std::string getNetworkClassName(const char *filename); 00091 00096 virtual void save(const char *filename)=0; 00097 }; 00098 00099 }; //namespace annie 00100 #endif // define _NETWORK_H 00101
1.2.14 written by Dimitri van Heesch,
© 1997-2002