mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-06-08 15:05:15 +02:00
Merge pull request #491 from alexfeld/parallel_opt
fix for parallel optimization
This commit is contained in:
commit
a5ba3057ec
2 changed files with 5 additions and 3 deletions
|
|
@ -562,11 +562,12 @@ class GP(Model):
|
|||
"""
|
||||
self.inference_method.on_optimization_start()
|
||||
try:
|
||||
super(GP, self).optimize(optimizer, start, messages, max_iters, ipython_notebook, clear_after_finish, **kwargs)
|
||||
ret = super(GP, self).optimize(optimizer, start, messages, max_iters, ipython_notebook, clear_after_finish, **kwargs)
|
||||
except KeyboardInterrupt:
|
||||
print("KeyboardInterrupt caught, calling on_optimization_end() to round things up")
|
||||
self.inference_method.on_optimization_end()
|
||||
raise
|
||||
return ret
|
||||
|
||||
def infer_newX(self, Y_new, optimize=True):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -88,9 +88,9 @@ class SparseGP_MPI(SparseGP):
|
|||
def optimize(self, optimizer=None, start=None, **kwargs):
|
||||
self._IN_OPTIMIZATION_ = True
|
||||
if self.mpi_comm==None:
|
||||
super(SparseGP_MPI, self).optimize(optimizer,start,**kwargs)
|
||||
ret = super(SparseGP_MPI, self).optimize(optimizer,start,**kwargs)
|
||||
elif self.mpi_comm.rank==0:
|
||||
super(SparseGP_MPI, self).optimize(optimizer,start,**kwargs)
|
||||
ret = super(SparseGP_MPI, self).optimize(optimizer,start,**kwargs)
|
||||
self.mpi_comm.Bcast(np.int32(-1),root=0)
|
||||
elif self.mpi_comm.rank>0:
|
||||
x = self.optimizer_array.copy()
|
||||
|
|
@ -111,6 +111,7 @@ class SparseGP_MPI(SparseGP):
|
|||
self._IN_OPTIMIZATION_ = False
|
||||
raise Exception("Unrecognizable flag for synchronization!")
|
||||
self._IN_OPTIMIZATION_ = False
|
||||
return ret
|
||||
|
||||
def parameters_changed(self):
|
||||
if isinstance(self.inference_method,VarDTC_minibatch):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue