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
|
return new_arr
|
||||||
def __setitem__(self, s, val):
|
def __setitem__(self, s, val):
|
||||||
super(Param, self).__setitem__(s, val)
|
super(Param, self).__setitem__(s, val)
|
||||||
|
if self.has_parent():
|
||||||
|
self._direct_parent_._notify_parameters_changed()
|
||||||
#self._notify_observers()
|
#self._notify_observers()
|
||||||
|
|
||||||
#===========================================================================
|
#===========================================================================
|
||||||
|
|
|
||||||
|
|
@ -391,8 +391,7 @@ class Parameterizable(Constrainable, Observable):
|
||||||
# don't overwrite this anymore!
|
# don't overwrite this anymore!
|
||||||
import itertools
|
import itertools
|
||||||
[p._set_params(params[s]) for p, s in itertools.izip(self._parameters_, self._param_slices_)]
|
[p._set_params(params[s]) for p, s in itertools.izip(self._parameters_, self._param_slices_)]
|
||||||
self.parameters_changed()
|
self._notify_parameters_changed()
|
||||||
self._notify_observers()
|
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
"""Returns a (deep) copy of the current model"""
|
"""Returns a (deep) copy of the current model"""
|
||||||
|
|
@ -428,6 +427,8 @@ class Parameterizable(Constrainable, Observable):
|
||||||
def _notify_parameters_changed(self, which):
|
def _notify_parameters_changed(self, which):
|
||||||
self.parameters_changed()
|
self.parameters_changed()
|
||||||
self._notify_observers()
|
self._notify_observers()
|
||||||
|
if self.has_parent():
|
||||||
|
self._direct_parent_._notify_parameters_changed()
|
||||||
|
|
||||||
def parameters_changed(self):
|
def parameters_changed(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ class Parameterized(Parameterizable, Pickleable, Gradcheckable):
|
||||||
self.constraints.update(param.constraints, start)
|
self.constraints.update(param.constraints, start)
|
||||||
self.priors.update(param.priors, start)
|
self.priors.update(param.priors, start)
|
||||||
self._parameters_.insert(index, param)
|
self._parameters_.insert(index, param)
|
||||||
param.add_observer(self, self._notify_parameters_changed)
|
|
||||||
self.size += param.size
|
self.size += param.size
|
||||||
else:
|
else:
|
||||||
raise RuntimeError, """Parameter exists already added and no copy made"""
|
raise RuntimeError, """Parameter exists already added and no copy made"""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue