void LowessParamFrame::UpdateParamsFromFields() { wxLogMessage("Entering LowessParamFrame::UpdateParamsFromFields"); Lowess temp_l(GetF(), GetIter(), GetDeltaFactor()); { wxString s = f_text->GetValue(); double v; if (s.ToDouble(&v)) temp_l.SetF(v); f = temp_l.GetF(); wxString sf = wxString::Format("%f", GetF()); f_text->ChangeValue(sf); } { wxString s = iter_text->GetValue(); long v; if (s.ToLong(&v)) temp_l.SetIter((long) v); iter = temp_l.GetIter(); wxString sf = wxString::Format("%d", GetIter()); iter_text->ChangeValue(sf); } { wxString s = delta_factor_text->GetValue(); double v; if (s.ToDouble(&v)) temp_l.SetDeltaFactor(v); delta_factor = temp_l.GetDeltaFactor(); wxString sf = wxString::Format("%.4f", GetDeltaFactor()); delta_factor_text->ChangeValue(sf); } wxLogMessage("Exiting LowessParamFrame::UpdateParamsFromFields"); }
double cScenarioBallRL::GetExpTemp() const { int iter = GetIter(); double temp = 1 - static_cast<double>(iter) / mNumExpAnnealIters; temp = cMathUtil::Clamp(temp, 0.0, 1.0); temp = temp * (mInitExpTemp - mExpTemp) + mExpTemp; return temp; }
double cScenarioBallRL::GetExpRate() const { int iter = GetIter(); double eps = 1 - static_cast<double>(iter) / mNumExpAnnealIters; eps = cMathUtil::Clamp(eps, 0.0, 1.0); eps = eps * (mInitExpRate - mExpRate) + mExpRate; return eps; }
void cScenarioBallRL::Train() { printf("\nTraining iter: %i\n", GetIter()); printf("Num Tuples: %i\n", mLearner->GetNumTuples()); mLearner->Train(mTupleBuffer); mNumTuples = 0; }
void LowessParamFrame::OnResetDefaultsBtn(wxCommandEvent& ev) { wxLogMessage("In LowessParamFrame::OnResetDefaultsBtn"); f = Lowess::default_f; iter = Lowess::default_iter; delta_factor = Lowess::default_delta_factor; f_text->ChangeValue(wxString::Format("%f", GetF())); iter_text->ChangeValue(wxString::Format("%d", GetIter())); delta_factor_text->ChangeValue(wxString::Format("%f", GetDeltaFactor())); OnApplyBtn(ev); }
void cScenarioArmRL::Train() { int iter = GetIter(); int num_tuples = mLearner->GetNumTuples(); printf("\nTraining Iter: %i\n", iter); printf("Num Tuples: %i\n", num_tuples); cNeuralNetTrainer::eStage stage0 = mTrainer.GetStage(); mLearner->Train(mTupleBuffer); cNeuralNetTrainer::eStage stage1 = mTrainer.GetStage(); mNumTuples = 0; }
int cTrainerInterface::GetActorIter() const { return GetIter(); }
int cTrainerInterface::GetCriticIter() const { return GetIter(); }
LowessParamFrame::LowessParamFrame(double f, int iter, double delta_factor, Project* project_) : wxFrame((wxWindow*) 0, wxID_ANY, _("LOWESS Smoother Parameters"), wxDefaultPosition, wxSize(400, -1), wxDEFAULT_FRAME_STYLE), LowessParamObservable(f, iter, delta_factor), project(project_) { wxLogMessage("Entering LowessParamFrame::LowessParamFrame"); wxPanel* panel = new wxPanel(this); panel->SetBackgroundColour(*wxWHITE); SetBackgroundColour(*wxWHITE); wxButton* help_btn = new wxButton(panel, XRCID("ID_HELP_BTN"), _("Help"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); wxButton* apply_btn = new wxButton(panel, XRCID("ID_APPLY_BTN"), _("Apply"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); wxButton* reset_defaults_btn = new wxButton(panel, XRCID("ID_RESET_DEFAULTS_BTN"), _("Reset"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); wxStaticText* f_stat_t = new wxStaticText(panel, wxID_ANY, _("Bandwidth:")); f_text = new wxTextCtrl(panel, XRCID("ID_F_TEXT"), wxString::Format("%f", GetF()), wxDefaultPosition, wxSize(100, -1), wxTE_PROCESS_ENTER); f_text->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); Connect(XRCID("ID_F_TEXT"), wxEVT_TEXT, wxCommandEventHandler(LowessParamFrame::OnFTextChange)); Connect(XRCID("ID_F_TEXT"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(LowessParamFrame::OnApplyBtn)); wxStaticText* iter_stat_t = new wxStaticText(panel, wxID_ANY, _("Iterations:")); iter_text = new wxTextCtrl(panel, XRCID("ID_ITER_TEXT"), wxString::Format("%d", GetIter()), wxDefaultPosition, wxSize(100, -1), wxTE_PROCESS_ENTER); iter_text->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); Connect(XRCID("ID_ITER_TEXT"), wxEVT_TEXT, wxCommandEventHandler(LowessParamFrame::OnIterTextChange)); Connect(XRCID("ID_ITER_TEXT"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(LowessParamFrame::OnApplyBtn)); wxStaticText* delta_factor_stat_t = new wxStaticText(panel, wxID_ANY, _("Delta Factor:")); delta_factor_text = new wxTextCtrl(panel, XRCID("ID_DELTA_FACTOR_TEXT"), wxString::Format("%.4f", GetDeltaFactor()), wxDefaultPosition, wxSize(100, -1), wxTE_PROCESS_ENTER); delta_factor_text->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); Connect(XRCID("ID_DELTA_FACTOR_TEXT"), wxEVT_TEXT, wxCommandEventHandler(LowessParamFrame::OnDeltaFactorTextChange)); Connect(XRCID("ID_DELTA_FACTOR_TEXT"), wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(LowessParamFrame::OnApplyBtn)); Connect(XRCID("ID_HELP_BTN"), wxEVT_BUTTON, wxCommandEventHandler(LowessParamFrame::OnHelpBtn)); Connect(XRCID("ID_APPLY_BTN"), wxEVT_BUTTON, wxCommandEventHandler(LowessParamFrame::OnApplyBtn)); Connect(XRCID("ID_RESET_DEFAULTS_BTN"), wxEVT_BUTTON, wxCommandEventHandler(LowessParamFrame::OnResetDefaultsBtn)); // Arrange above widgets in panel using sizers. // Top level panel sizer will be panel_h_szr // Below that will be panel_v_szr // panel_v_szr will directly receive widgets wxFlexGridSizer* fg_sizer = new wxFlexGridSizer(3, 2, 3, 3); fg_sizer->Add(f_stat_t, 0, wxALIGN_CENTRE_VERTICAL | wxALIGN_RIGHT); fg_sizer->Add(f_text, 0, wxALIGN_CENTRE_VERTICAL); fg_sizer->Add(iter_stat_t, 0, wxALIGN_CENTRE_VERTICAL | wxALIGN_RIGHT); fg_sizer->Add(iter_text, 0, wxALIGN_CENTRE_VERTICAL); fg_sizer->Add(delta_factor_stat_t, 0, wxALIGN_CENTRE_VERTICAL|wxALIGN_RIGHT); fg_sizer->Add(delta_factor_text, 0, wxALIGN_CENTRE_VERTICAL); wxBoxSizer* btns_row1_h_szr = new wxBoxSizer(wxHORIZONTAL); btns_row1_h_szr->Add(help_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row1_h_szr->AddSpacer(8); btns_row1_h_szr->Add(reset_defaults_btn, 0, wxALIGN_CENTER_VERTICAL); btns_row1_h_szr->AddSpacer(8); btns_row1_h_szr->Add(apply_btn, 0, wxALIGN_CENTER_VERTICAL); wxBoxSizer* panel_v_szr = new wxBoxSizer(wxVERTICAL); panel_v_szr->Add(fg_sizer, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); panel_v_szr->AddSpacer(2); panel_v_szr->Add(btns_row1_h_szr, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); wxBoxSizer* panel_h_szr = new wxBoxSizer(wxHORIZONTAL); panel_h_szr->Add(panel_v_szr, 1, wxEXPAND); panel->SetSizer(panel_h_szr); // Top Sizer for Frame wxBoxSizer* top_h_sizer = new wxBoxSizer(wxHORIZONTAL); top_h_sizer->Add(panel, 1, wxEXPAND|wxALL, 8); SetSizerAndFit(top_h_sizer); Show(true); wxLogMessage("Exiting LowessParamFrame::LowessParamFrame"); }