示例#1
0
 /// <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;
 }