mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-08 19:42:39 +02:00
parent observer now static and always last
This commit is contained in:
parent
f1487c6935
commit
023203dc3a
3 changed files with 5 additions and 3 deletions
|
|
@ -161,6 +161,8 @@ class Param(Constrainable, ObservableArray, Gradcheckable):
|
|||
return new_arr
|
||||
def __setitem__(self, s, val):
|
||||
super(Param, self).__setitem__(s, val)
|
||||
if self.has_parent():
|
||||
self._direct_parent_._notify_parameters_changed()
|
||||
#self._notify_observers()
|
||||
|
||||
#===========================================================================
|
||||
|
|
|
|||
|
|
@ -391,8 +391,7 @@ class Parameterizable(Constrainable, Observable):
|
|||
# don't overwrite this anymore!
|
||||
import itertools
|
||||
[p._set_params(params[s]) for p, s in itertools.izip(self._parameters_, self._param_slices_)]
|
||||
self.parameters_changed()
|
||||
self._notify_observers()
|
||||
self._notify_parameters_changed()
|
||||
|
||||
def copy(self):
|
||||
"""Returns a (deep) copy of the current model"""
|
||||
|
|
@ -428,6 +427,8 @@ class Parameterizable(Constrainable, Observable):
|
|||
def _notify_parameters_changed(self, which):
|
||||
self.parameters_changed()
|
||||
self._notify_observers()
|
||||
if self.has_parent():
|
||||
self._direct_parent_._notify_parameters_changed()
|
||||
|
||||
def parameters_changed(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -92,7 +92,6 @@ class Parameterized(Parameterizable, Pickleable, Gradcheckable):
|
|||
self.constraints.update(param.constraints, start)
|
||||
self.priors.update(param.priors, start)
|
||||
self._parameters_.insert(index, param)
|
||||
param.add_observer(self, self._notify_parameters_changed)
|
||||
self.size += param.size
|
||||
else:
|
||||
raise RuntimeError, """Parameter exists already added and no copy made"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue