00001 #ifndef NetParams_H 00002 #define NetParams_H 00003 00004 #include "Data.h" 00005 #include "Mapcode.h" 00006 00007 00008 #include <string> 00009 00010 using std::string; 00011 00020 class NetParams { 00021 protected: 00022 string _learnType; 00023 int _learning_type; 00024 int _init_type; 00025 Value_Type _init_learning_rate; 00026 Value_Type _init_neighbor; 00027 Mapcode * _mapcode; 00028 SOMData * _data; 00029 int _num_iterations; 00030 TMatrix _delta; 00031 00032 public: 00033 00035 void setMapcode( Mapcode * mapcode ); 00036 00038 void setData( SOMData * data ); 00039 00041 void setDelta( TMatrix delta ); 00042 00044 TMatrix getDelta() const; 00045 00047 NetParams(); 00048 00050 Mapcode * getMapcode() const; 00051 00053 SOMData * getData() const; 00054 00056 int getNumIterations(); 00057 00059 void setNumIterations( int i ); 00060 00062 int getInitType(); 00063 00065 void setInitType( int init ); 00066 00068 Value_Type getInitLearningRate(); 00069 00071 void setInitLearningRate( Value_Type init_rate ); 00072 00074 Value_Type getInitNeighbor(); 00075 00077 void setInitNeighbor( Value_Type init_neighbor ); 00078 00080 int getLearningType(); 00081 00083 void setLearningType( int t ); 00084 00086 void setLearnType( string str ); 00087 00089 string getLearnType(); 00090 }; 00091 00092 void 00093 NetParams::setMapcode( Mapcode * mapcode ) { 00094 _mapcode = mapcode; 00095 }; 00096 00097 void 00098 NetParams::setData( SOMData * data ) { 00099 _data = data; 00100 }; 00101 00102 void 00103 NetParams::setLearnType( string str ) { 00104 _learnType = str; 00105 }; 00106 00107 string 00108 NetParams::getLearnType() { 00109 return _learnType; 00110 }; 00111 00112 00113 00114 NetParams::NetParams() { 00115 _data = new SOMData; 00116 _mapcode = new Mapcode; 00117 _data->setEntries( 0 ); 00118 _mapcode->setCodebook( 0 ); 00119 }; 00120 00121 Mapcode * 00122 NetParams::getMapcode() const { 00123 return _mapcode; 00124 }; 00125 00126 SOMData * 00127 NetParams::getData() const { 00128 return _data; 00129 }; 00130 00131 int 00132 NetParams::getNumIterations() { 00133 return _num_iterations; 00134 }; 00135 00136 void 00137 NetParams::setNumIterations( int i ) { 00138 _num_iterations = i; 00139 }; 00140 00141 int 00142 NetParams::getInitType() { 00143 return _init_type; 00144 }; 00145 00146 void 00147 NetParams::setInitType( int init ) { 00148 _init_type = init; 00149 }; 00150 00151 Value_Type 00152 NetParams::getInitLearningRate() { 00153 return _init_learning_rate; 00154 }; 00155 00156 void 00157 NetParams::setInitLearningRate( Value_Type init_rate ) { 00158 _init_learning_rate = init_rate; 00159 }; 00160 00161 Value_Type 00162 NetParams::getInitNeighbor() { 00163 return _init_neighbor; 00164 }; 00165 00166 void 00167 NetParams::setInitNeighbor( Value_Type init_neighbor ) { 00168 _init_neighbor = init_neighbor; 00169 }; 00170 00171 int 00172 NetParams::getLearningType() { 00173 return _learning_type; 00174 }; 00175 00176 void 00177 NetParams::setLearningType( int t ) { 00178 _learning_type = t; 00179 }; 00180 00181 void 00182 NetParams::setDelta( TMatrix delta ) { 00183 _delta = delta; 00184 }; 00185 00186 TMatrix 00187 NetParams::getDelta() const { 00188 return _delta; 00189 } 00190 00191 #endif