It looks like the slave thinks it needs to load the MasterProblem as a problem, which only the master should do. What I do is organize my params files like this:
And then all app-master.params contains is this:
parent.0 = app.params
eval.masterproblem = ec.eval.MasterProblem
eval.master.port = 15000 (NOT eval.masterproblem.port!)
eval.masterproblem.job-size = 1 (or whatever)
eval.masterproblem.max-jobs-per-slave = 1 (or whatever)
eval.compression = true
And all app-slave.params contains is this:
parent.0 = app-master.params
eval.master.host = 127.0.0.1 (or whatever)
eval.return-inds = false (or whatever)
Note that you set eval.masterproblem to ec.eval.MasterProblem. You should leave eval.problem set to the actual Problem.
Hope that helps,
On Feb 4, 2011, at 12:10 PM, Nikola N. wrote:
Hello, I have tried to start the example master / slave: coevolve1, run
I have set the following lines in the coevolve1.master.params and
verbosity = 0
eval.compression = false
However I experienced problems by starting the coevolve1 master/slave. Here
is the printout:
- Master response:
Threads: breed/1 eval/1
Initializing Generation 0
Slave /127.0.0.1/1296838850404 connected successfully.
Slave(/127.0.0.1/1296838850404) Slave is shutting down....
- Slave response:
reading next problem
Read problem: 2
Exception in thread "MainThread: " java.lang.NullPointerException
- Also since there are going to be some changes around coevolve stuff, are
there any changes also planned to be added to the master/slave ?