/// <summary> /// /// </summary> void OnStartBackpropagation() { if ((_bTrainingDataReady) && (_bTrainingThreadRuning != true) && (_bTestingThreadRuning != true)) { using (var dlg = new BackPropagationParametersForm()) { BackPropagationParameters parameters = new BackPropagationParameters { m_cNumThreads = (uint)_Preference.m_cNumBackpropThreads, m_InitialEta = _Preference.m_dInitialEtaLearningRate, m_MinimumEta = _Preference.m_dMinimumEtaLearningRate, m_EtaDecay = _Preference.m_dLearningRateDecay, m_AfterEvery = _Preference.m_nAfterEveryNBackprops, m_StartingPattern = 0, m_EstimatedCurrentMSE = 0.10, m_bDistortPatterns = true }; double eta = parameters.m_InitialEta; parameters.m_strInitialEtaMessage = String.Format("Initial Learning Rate eta (currently, eta = {0})", eta); int curPattern = 0; parameters.m_strStartingPatternNum = String.Format("Starting Pattern Number (currently at {0})", curPattern); dlg.SetBackProParameters(parameters); var m_result = dlg.ShowDialog(); if (m_result == DialogResult.OK) { parameters = dlg.GetBackProParameters(); bool bRet = StartBackpropagation(parameters.m_StartingPattern, parameters.m_cNumThreads, parameters.m_InitialEta, parameters.m_MinimumEta, parameters.m_EtaDecay, parameters.m_AfterEvery, parameters.m_bDistortPatterns, parameters.m_EstimatedCurrentMSE); if (bRet != false) { //do some thing _bTrainingThreadRuning = true; } } } } }
/// <summary> /// /// </summary> /// <param name="value"></param> public void SetBackProParameters(BackPropagationParameters value) { m_Parameters = value; textBoxAfterEveryNBackPropagations.Text = m_Parameters.m_AfterEvery.ToString(); textBoxBackThreads.Text = m_Parameters.m_cNumThreads.ToString(); textBoxEstimateofCurrentMSE.Text = m_Parameters.m_EstimatedCurrentMSE.ToString(); textBoxILearningRateEta.Text = m_Parameters.m_InitialEta.ToString(); textBoxLearningRateDecayRate.Text = m_Parameters.m_EtaDecay.ToString(); textBoxMinimumLearningRate.Text = m_Parameters.m_MinimumEta.ToString(); textBoxStartingPatternNumber.Text = m_Parameters.m_StartingPattern.ToString(); checkBoxDistortPatterns.Checked = m_Parameters.m_bDistortPatterns; }