00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #define NKERN_NET_H
00012
00013 #include <vector>
00014 #include "nkernel/nkern_neuron.h"
00015
00016
00017
00019
00021
00022 private:
00023 int m_NumInputs;
00024 int m_NumOutputs;
00025 int m_NumHiddenLayers;
00026 int m_NumNeuronsPerLayer;
00027 char name[256];
00028 vector<NeuronLayer> m_vecLayers;
00029
00030 public:
00031 Net();
00032 Net( int NumInputs,
00033 int NumOutputs,
00034 int NumHiddenLayers,
00035 int NumNeuronsPerLayer);
00036 void CreateNet();
00037 void Net::ModNet(int NumInputs,
00038 int NumOutputs,
00039 int NumHiddenLayers,
00040 int NumNeuronsPerLayer);
00041 vector<float> GetWeights();
00042 int GetNumberOfWeights();
00043 void PutWeights(vector<float> weights);
00044 vector<float> Update(vector<float> inputs);
00045 inline float Sigmoid(float activation, float response);
00046 };
00047
00048 #endif