9 #ifndef D_MAKRO_SOFTMAXVISUALIZATION_H
10 #define D_MAKRO_SOFTMAXVISUALIZATION_H
25 #include <QMainWindow>
26 #include <QFileDialog>
28 #include <QFileInfoList>
32 #include <QCloseEvent>
33 #include <QResizeEvent>
34 #include <QInputDialog>
48 #include <opencv2/core/core.hpp>
49 #include <opencv2/highgui/highgui.hpp>
50 #include <opencv2/imgproc/imgproc.hpp>
69 void closeEvent(QCloseEvent *event);
70 void resizeEvent(QResizeEvent *event);
82 void Data_InitMats_CorrectSize(
bool init_x_and_y =
true);
86 void Set_MatrixViewDiemsnions();
89 void Proc_StepDetail();
90 void Proc_StepIteration();
91 void Proc_StepEndless();
93 void Proc_SaveVideos();
94 void Proc_SaveVideo();
95 void Proc_SaveVideo(QDir DIR_Save,
double lambda,
double delta,
double fps,
size_t max_iterations);
96 void Proc_SaveVideos(QDir Path,
double fps,
size_t max_iterations,
double lambda_min,
double lambda_max,
double lambda_step,
double delta_min_exp,
double delta_max_exp,
double delta_step_exp);
100 void Proc_classify();
101 void Proc_accuracy();
104 void Proc_L_partial();
108 void on_pushButton_LoadData_clicked();
109 void on_pushButton_Proc_Step_clicked();
110 void on_pushButton_Proc_Iteration_clicked();
111 void on_pushButton_Proc_Endless_clicked();
112 void on_pushButton_Proc_Stop_clicked();
114 void on_pushButton_ResetAndInit_clicked();
117 void on_checkBox_lambda_stateChanged(
int arg1);
120 Ui::D_MAKRO_SoftmaxVisualization *ui;
121 bool ClosingPossible =
false;
134 Mat MA_classification;
143 Mat MA_color_s_normed;
144 Mat MA_color_classification;
146 Mat MA_color_L_partial_s;
147 Mat MA_color_gradient;
161 QChartView *pChartView_Loss;
162 QChartView *pChartView_Accuracy;
168 vector<vector<double>> vvData_X;
172 vector<vector<double>> vvData_X_default = {
173 {0.866359,0.648724,0.915475,0.774046,0.29548,0.700584,0.664165,1},
174 {0.928156,0.714069,0.950374,0.790589,0.394482,0.755629,0.54843,1},
175 {0.859534,0.628962,0.927481,0.731163,0.249574,0.689212,0.575987,1},
176 {0.827632,0.592264,0.914473,0.708229,0.227076,0.676201,0.582829,1},
177 {0.931524,0.720506,0.936026,0.82236,0.411425,0.79493,0.595197,1},
178 {0.844312,0.597158,0.880445,0.770344,0.191811,0.705399,0.671659,1},
179 {0.82187,0.566162,0.884021,0.724462,0.10111,0.681813,0.647746,1},
180 {0.826701,0.577694,0.902557,0.709167,0.16867,0.669326,0.608026,1},
181 {0.876158,0.655822,0.933991,0.751797,0.251131,0.702768,0.591723,1},
182 {0.885632,0.671388,0.938044,0.763005,0.304516,0.724269,0.589883,1},
183 {0.856731,0.627637,0.920574,0.740614,0.261042,0.68192,0.6067,1},
184 {0.89496,0.679769,0.944439,0.762103,0.322769,0.722978,0.578113,1},
185 {0.86862,0.61673,0.896961,0.766564,0.249199,0.709011,0.583487,1},
186 {0.848867,0.602751,0.899702,0.744629,0.16704,0.70259,0.59923,1},
187 {0.80779,0.565745,0.898087,0.70143,0.175321,0.658018,0.594111,1},
188 {0.833912,0.596372,0.897724,0.739999,0.198475,0.684264,0.621166,1},
189 {0.818235,0.547453,0.882017,0.703708,0.141858,0.684256,0.594548,1},
190 {0.848497,0.619851,0.932614,0.712661,0.253004,0.690594,0.552916,1},
192 {0.985175,0.878277,0.950167,0.972818,0.834999,0.782597,0.92665,1},
193 {0.987205,0.878681,0.95072,0.972132,0.813235,0.799759,0.91587,1},
194 {0.987195,0.889996,0.95817,0.9694,0.831583,0.803753,0.990909,1},
195 {0.985127,0.878145,0.949495,0.97405,0.888338,0.784302,1,1},
196 {0.989203,0.885642,0.952854,0.975451,0.855294,0.805421,0.915751,1},
197 {0.988613,0.885136,0.957021,0.966423,0.813052,0.79056,0.921053,1},
198 {0.9836,0.874373,0.952222,0.964318,0.848497,0.779409,0.949367,1},
199 {0.986967,0.886581,0.956612,0.968829,0.83314,0.78104,0.993333,1},
200 {0.986627,0.859847,0.957316,0.938232,0.680274,0.76569,0.742857,1},
201 {0.985711,0.882421,0.951451,0.974771,0.868461,0.802579,0.935065,1},
202 {0.988231,0.875756,0.950679,0.968981,0.798331,0.805016,0.87557,1},
203 {0.987317,0.885967,0.955766,0.969873,0.832722,0.795875,0.973684,1},
204 {0.989393,0.887392,0.958209,0.966484,0.790791,0.787293,0.855856,1},
205 {0.988157,0.888124,0.953339,0.977189,0.892848,0.795465,1,1},
206 {0.988299,0.882066,0.95144,0.974402,0.831782,0.788393,0.9625,1},
207 {0.988234,0.878626,0.952737,0.967961,0.78283,0.780456,0.849246,1},
208 {0.986832,0.883144,0.95187,0.974712,0.888545,0.795468,0.971831,1},
209 {0.986593,0.871116,0.949967,0.965293,0.798915,0.775214,0.905847,1},
210 {0.990771,0.896778,0.95498,0.983323,0.898937,0.785882,0.944444,1},
212 {0.985785,0.727501,0.957502,0.793514,0.407978,0.769593,0.497326,1},
213 {0.985101,0.703588,0.952131,0.776113,0.37786,0.767275,0.473282,1},
214 {0.983257,0.710069,0.949994,0.78679,0.391829,0.785028,0.480505,1},
215 {0.988398,0.754014,0.955316,0.826201,0.488928,0.74822,0.515385,1},
216 {0.98551,0.76665,0.945564,0.857463,0.504937,0.820216,0.595652,1},
217 {0.989224,0.79441,0.953551,0.873689,0.540131,0.771232,0.623596,1},
218 {0.949833,0.597741,0.948322,0.664664,0.265085,0.774013,0.375053,1},
219 {0.983959,0.668986,0.947537,0.745117,0.378312,0.760697,0.451801,1},
220 {0.983792,0.71889,0.954615,0.788872,0.394541,0.730556,0.50309,1},
221 {0.984208,0.660396,0.96245,0.712933,0.329624,0.786978,0.391196,1},
222 {0.985829,0.719326,0.948457,0.799633,0.429681,0.738559,0.498866,1},
223 {0.985701,0.668001,0.946639,0.745433,0.374695,0.782016,0.413174,1},
224 {0.983176,0.725491,0.94679,0.809327,0.440624,0.758519,0.536817,1},
225 {0.985277,0.678122,0.948193,0.754247,0.365632,0.760595,0.449575,1},
226 {0.978861,0.70589,0.949681,0.782674,0.430535,0.716313,0.54386,1},
227 {0.976651,0.685715,0.947664,0.763545,0.366541,0.762839,0.470523,1},
228 {0.986969,0.76173,0.95535,0.834594,0.471337,0.771196,0.52459,1},
229 {0.987792,0.753577,0.951862,0.831726,0.470487,0.771024,0.51444,1},
230 {0.988111,0.727022,0.946377,0.811745,0.447654,0.760482,0.518008,1}};
232 vector<int> vData_Y_default = {
233 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
234 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
235 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2};
240 vector<double> vLoss;
241 vector<double> vAccuracy;
242 size_t iteration = 0;
245 QLabel *pQL_ValueUnderCursor;
246 QLabel *pQL_CursorPosition;
249 bool endless_proc_stop =
false;
250 size_t step_next = STEP_s;
265 #endif // D_MAKRO_SOFTMAXVISUALIZATION_H