File size: 1,040 Bytes
1b0eedd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#ifndef MLPLibrary_h
#define MLPLibrary_h
#inlcude "Arduino.h"
#define MAX_INPUT_SIZE 10
#define MAX_HIDDEN_SIZE 10
#define MAX_OUTPUT_SIZE 10
class MLPLibrary {
public:
MLPLibrary(int inputSize, int hiddenSize, int outputSize, float learningRate);
void initialize();
void trian(float input[MAX_INPUT_SIZE], float target[MAX_OUTPUT_SIZE]);
void predict(float input[MAX_INPUT_SIZE], float output[MAX_OUTPUT_SIZE]);
private:
int numInputs;
int numHidden;
int numOutputs;
float learningRate;
float inputLayer[MAX_INPUT_SIZE];
float hiddenLayer[MAX_HIDDEN_SIZE];
float outputLayer[MAX_OUTPUT_SIZE];
float inputHiddenWeights[MAX_INPUT_SIZE][MAX_HIDDEN_SIZE];
float hiddenOutputWeights[MAX_HIDDEN_SIZE][MAX_OUTPUT_SIZE];
float hiddenLayerBiases[MAX_HIDDEN_SIZE];
float outputLayerBiases[MAX_OUTPUT_SIZE];
float hiddenLayerErrors[MAX_HIDDEN_SIZE];
float outputLayerErrors[MAX_OUTPUT_SIZE];
float sigmoid(float x);
};
#endif
|