diff --git a/GPy/core/model.py b/GPy/core/model.py index 748a5e08..f2632c93 100644 --- a/GPy/core/model.py +++ b/GPy/core/model.py @@ -437,7 +437,7 @@ class Model(Parameterized): else: param_list = self._raveled_index_for(target_param) if self._has_fixes(): - param_list = np.intersect1d(param_list, np.r_[:self.size][self._fixes_], True) + param_list = np.intersect1d(np.r_[:self.size][self._fixes_], param_list, True) if param_list.size == 0: print "No free parameters to check" diff --git a/GPy/core/parameterization/index_operations.py b/GPy/core/parameterization/index_operations.py index da7f1d9b..d2549dad 100644 --- a/GPy/core/parameterization/index_operations.py +++ b/GPy/core/parameterization/index_operations.py @@ -205,7 +205,7 @@ class ParameterIndexOperationsView(object): def remove(self, prop, indices): removed = self._param_index_ops.remove(prop, indices+self._offset) if removed.size > 0: - return removed - self._size + return removed - self._size + 1 return removed diff --git a/GPy/core/parameterization/parameter_core.py b/GPy/core/parameterization/parameter_core.py index 1c507688..6afea470 100644 --- a/GPy/core/parameterization/parameter_core.py +++ b/GPy/core/parameterization/parameter_core.py @@ -145,7 +145,9 @@ class Constrainable(Nameable, Indexable, Parameterizable): This parameter will no longer be fixed. """ unconstrained = self.unconstrain(__fixed__) + import ipdb;ipdb.set_trace() self._highest_parent_._set_unfixed(unconstrained) + unfix = unconstrain_fixed #=========================================================================== # Constrain operations -> done @@ -221,7 +223,7 @@ class Constrainable(Nameable, Indexable, Parameterizable): import numpy as np removed = np.empty((0,),dtype=int) for t in transforms: - removed = np.intersect1d(removed, self.constraints.remove(t, self._raveled_index())) + removed = np.union1d(removed, self.constraints.remove(t, self._raveled_index())) return removed def unconstrain_positive(self):