Exemplo n.º 1
0
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");
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
void cScenarioBallRL::Train()
{
	printf("\nTraining iter: %i\n", GetIter());
	printf("Num Tuples: %i\n", mLearner->GetNumTuples());

	mLearner->Train(mTupleBuffer);
	mNumTuples = 0;
}
Exemplo n.º 5
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);
}
Exemplo n.º 6
0
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;
}
Exemplo n.º 7
0
int cTrainerInterface::GetActorIter() const
{
	return GetIter();
}
Exemplo n.º 8
0
int cTrainerInterface::GetCriticIter() const
{
	return GetIter();
}
Exemplo n.º 9
0
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");
}