NeuralNetworkRBMauto.h

00001 #ifndef __NEURAL_NETWORK_RBM_AUTO_
00002 #define __NEURAL_NETWORK_RBM_AUTO_
00003 
00004 #include "StandardAlgorithm.h"
00005 #include "Framework.h"
00006 #include "nnrbm.h"
00007 
00008 using namespace std;
00009 
00021 class NeuralNetworkRBMauto : public StandardAlgorithm, public Framework
00022 {
00023 public:
00024     NeuralNetworkRBMauto();
00025     ~NeuralNetworkRBMauto();
00026 
00027     virtual void modelInit();
00028     virtual void modelUpdate ( REAL* input, REAL* target, uint nSamples, uint crossRun );
00029     virtual void predictAllOutputs ( REAL* rawInputs, REAL* outputs, uint nSamples, uint crossRun );
00030     virtual void readSpecificMaps();
00031     virtual void saveWeights ( int cross );
00032     virtual void loadWeights ( int cross );
00033     virtual void loadMetaWeights ( int cross );
00034 
00035     static string templateGenerator ( int id, string preEffect, int nameID, bool blendStop );
00036 
00037 private:
00038     // inputs/targets
00039     REAL** m_inputs;
00040 
00041     // the NNs
00042     NNRBM** m_nn;
00043     int m_epoch;
00044 
00045     // RBM setup
00046     bool *m_isFirstEpoch;
00047 
00048     // dsc file
00049     int m_nrLayerAuto;
00050     int m_nrLayerNetHidden;
00051     int m_batchSize;
00052     int m_tuningEpochsRBMFinetuning;
00053     int m_tuningEpochsOutputNet;
00054     double m_offsetOutputs;
00055     double m_scaleOutputs;
00056     double m_initWeightFactor;
00057     double m_learnrate;
00058     double m_learnrateAutoencoderFinetuning;
00059     double m_learnrateMinimum;
00060     double m_learnrateSubtractionValueAfterEverySample;
00061     double m_learnrateSubtractionValueAfterEveryEpoch;
00062     double m_momentum;
00063     double m_weightDecay;
00064     double m_minUpdateErrorBound;
00065     double m_etaPosRPROP;
00066     double m_etaNegRPROP;
00067     double m_minUpdateRPROP;
00068     double m_maxUpdateRPROP;
00069     bool m_enableL1Regularization;
00070     bool m_enableErrorFunctionMAE;
00071     bool m_enableRPROP;
00072     bool m_useBLASforTraining;
00073     string m_neuronsPerLayerAuto;
00074     string m_neuronsPerLayerNetHidden;
00075 
00076 };
00077 
00078 
00079 #endif

Generated on Tue Jan 26 09:20:59 2010 for ELF by  doxygen 1.5.8