Merge branch 'master' into devel

This commit is contained in:
Nicolo Fusi 2013-04-10 16:55:27 +01:00
commit f6879ef768
12 changed files with 307 additions and 90 deletions

View file

@ -188,19 +188,23 @@ class model(parameterised):
"""
initial_parameters = self._get_params_transformed()
if parallel:
jobs = []
pool = mp.Pool(processes=num_processes)
for i in range(Nrestarts):
self.randomize()
job = pool.apply_async(opt_wrapper, args = (self,), kwds = kwargs)
jobs.append(job)
try:
jobs = []
pool = mp.Pool(processes=num_processes)
for i in range(Nrestarts):
self.randomize()
job = pool.apply_async(opt_wrapper, args = (self,), kwds = kwargs)
jobs.append(job)
pool.close() # signal that no more data coming in
pool.join() # wait for all the tasks to complete
pool.close() # signal that no more data coming in
pool.join() # wait for all the tasks to complete
except KeyboardInterrupt:
print "Ctrl+c received, terminating and joining pool."
pool.terminate()
pool.join()
for i in range(Nrestarts):
try:
@ -257,7 +261,7 @@ class model(parameterised):
self._set_params_transformed(x)
LL_gradients = self._transform_gradients(self._log_likelihood_gradients())
prior_gradients = self._transform_gradients(self._log_prior_gradients())
return -LL_gradients - prior_gradients
return - LL_gradients - prior_gradients
def objective_and_gradients(self, x):
obj_f = self.objective_function(x)