----- Original Message -----
From: Randall C. O'Reilly <oreilly@grey.colorado.edu>
To: <F.1.Richardson@herts.ac.uk>
Cc: <pdp-discuss@psych.colorado.edu>
Sent: Tuesday, April 03, 2001 1:52 AM
Subject: Re: control panels
> "Fiona M Richardson" <F.1.Richardson@herts.ac.uk> writes:
> > problem... my program compiles okay and then I run it and the control
panel
> > pops up but when I try to do anything from my actions menu I just get an
> > error message in my xterm window saying member not found: Train in class
of
> > type: .... and the same for testing ... I do not understand exactly what
>
> It sounds like you've got a bad path for an object -- if you include the
> .css file and the exact error msg (incl. line number), it would be
> easier to see what is going wrong.. In general, however, you should
> look at that line in the code and then look at your project and see if
> you in fact have a Train object in the location specified in the
> script.. You can find the path to any object in the title bar of its
> edit window..
>
> - Randy
I have enclosed the .css file and the error messages I get....my apologies
for my inability to grasp this part of PDP++
Regards
Fiona Richardson
class ConstrCtrl {
// the control panel
public:
c_float* lrate;
// learning rate
c_float* mom;
// momentum
void Run (); // BUTTON# run training
void RunTest (); // BUTTON# run testing
void Train (); // BUTTON# run training
void Test (); // BUTTON# display testing windows
void EverythingOff (); // iconify all windows
ConstrCtrl (); // constructor
};
ConstrCtrl::ConstrCtrl () {
// point the learning rate to actal lrate parameter
lrate = .specs.ConSpec.lrate;
// point the momentum to the actual momentum parameter
mom = .specs.ConSpec.momentum;
}
void ConstrCtrl::Run () {
.processes[0].Train[0].ReInit();
.processes[0].Train[0].Run ();
}
void ConstrCtrl::RunTest () {
.processes[5].Epoch[1].ReInit ();
.processes[5].Epoch[1].Run ();
}
void ConstrCtrl::Train () {
EverythingOff (); // turn everything off first
.processes.Train[0].ControlPanel ();
.processes.Train[0].Run ();
.logs.Epoch_0_GraphLog.DeIconify ();
}
void ConstrCtrl::Test () {
EverythingOff (); // turn everything off first
.processes.Test[0].ControlPanel ();
.logs.Trial_1_GridLog.DeIconify ();
}
void ConstrCtrl::EverythingOff () {
if(!taMisc::iv_active) return;
int i;
for(i=0; i<.logs.size; i++)
.logs[i].Iconify ();
for(i=0; i<.environments.size; i++)
.environments[i].Iconify ();
for(i=0; i<.processes.leaves; i++)
taivMisc::CloseEdits(.processes.Leaf(i), .processes.Leaf(i));
taivMisc::FlushIVPending ();
}
ConstrCtrl constr_ctrl;
EditObj (constr_ctrl);
titles of processes in edit windows:
train = .projects[0].processes[0] (Train 0)
test = .projects[0].processes[5] (Epoch 1)
error message for run:
cs++> Member not found: Train in class of type: TrainProcess
>29 .processes[0].Train[0].ReInit();
error message for runtest:
1 cs++> Member not found: Epoch in class of type: EpochProcess
>34 .processes[5].Epoch[1].ReInit ();
error message for Train:
2 cs++> Member not found: Train in class of type: TrainProcess
>67 }
Incomplete argument list for: de_array should have: 2 got: 1
>67 }
Operation: [] not defined for type: (void)
>67 }
Operation: .,->() not defined for type: (Int)
>67 }
Member is not a function Void
>67 }
error message for test:
2 cs++> Member not found: Test in class of type: TrainProcess
>78 }
Incomplete argument list for: de_array should have: 2 got: 1
>78 }
Operation: [] not defined for type: (void)
>78 }
Operation: .,->() not defined for type: (Int)
>78 }
Member is not a function Void
>78 }