im_self->__self__ fix for python 3

This commit is contained in:
Mike Croucher 2015-03-03 17:51:54 +00:00
parent 189647032a
commit fff110ca19
3 changed files with 7 additions and 5 deletions

View file

@ -94,7 +94,9 @@ class IndependentOutputs(CombinationKernel):
else: else:
slices2 = index_to_slices(X2[:,self.index_dim]) slices2 = index_to_slices(X2[:,self.index_dim])
[[[collate_grads(kern, i, dL_dK[s,s2],X[s],X2[s2]) for s in slices_i] for s2 in slices_j] for i,(kern,slices_i,slices_j) in enumerate(zip(kerns,slices,slices2))] [[[collate_grads(kern, i, dL_dK[s,s2],X[s],X2[s2]) for s in slices_i] for s2 in slices_j] for i,(kern,slices_i,slices_j) in enumerate(zip(kerns,slices,slices2))]
if self.single_kern: kern.gradient = target
if self.single_kern:
kern.gradient = target
else:[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))] else:[kern.gradient.__setitem__(Ellipsis, target[i]) for i, [kern, _] in enumerate(zip(kerns, slices))]
def gradients_X(self,dL_dK, X, X2=None): def gradients_X(self,dL_dK, X, X2=None):

View file

@ -29,7 +29,7 @@ def dparam_partial(inst_func, *args):
def param_func(param_val, param_name, inst_func, args): def param_func(param_val, param_name, inst_func, args):
#inst_func.im_self._set_params(param) #inst_func.im_self._set_params(param)
#inst_func.im_self.add_parameter(Param(param_name, param_val)) #inst_func.im_self.add_parameter(Param(param_name, param_val))
inst_func.im_self[param_name] = param_val inst_func.__self__[param_name] = param_val
return inst_func(*args) return inst_func(*args)
return functools.partial(param_func, inst_func=inst_func, args=args) return functools.partial(param_func, inst_func=inst_func, args=args)
@ -44,7 +44,7 @@ def dparam_checkgrad(func, dfunc, params, params_names, args, constraints=None,
The number of parameters and N is the number of data The number of parameters and N is the number of data
Need to take a slice out from f and a slice out of df Need to take a slice out from f and a slice out of df
""" """
print("\n{} likelihood: {} vs {}".format(func.im_self.__class__.__name__, print("\n{} likelihood: {} vs {}".format(func.__self__.__class__.__name__,
func.__name__, dfunc.__name__)) func.__name__, dfunc.__name__))
partial_f = dparam_partial(func, *args) partial_f = dparam_partial(func, *args)
partial_df = dparam_partial(dfunc, *args) partial_df = dparam_partial(dfunc, *args)
@ -278,7 +278,7 @@ class TestNoiseModels(object):
#} #}
} }
for name, attributes in noise_models.iteritems(): for name, attributes in noise_models.items():
model = attributes["model"] model = attributes["model"]
if "grad_params" in attributes: if "grad_params" in attributes:
params = attributes["grad_params"] params = attributes["grad_params"]

View file

@ -108,7 +108,7 @@ class ParameterizedTest(unittest.TestCase):
self.assertListEqual(self.white._fixes_.tolist(), [FIXED]) self.assertListEqual(self.white._fixes_.tolist(), [FIXED])
self.assertIs(self.test1.constraints, self.rbf.constraints._param_index_ops) self.assertIs(self.test1.constraints, self.rbf.constraints._param_index_ops)
self.assertIs(self.test1.constraints, self.param.constraints._param_index_ops) self.assertIs(self.test1.constraints, self.param.constraints._param_index_ops)
self.assertListEqual(self.test1.constraints[Logexp()].tolist(), range(self.param.size, self.param.size+self.rbf.size)) self.assertListEqual(self.test1.constraints[Logexp()].tolist(), list(range(self.param.size, self.param.size+self.rbf.size)))
def test_remove_parameter_param_array_grad_array(self): def test_remove_parameter_param_array_grad_array(self):
val = self.test1.kern.param_array.copy() val = self.test1.kern.param_array.copy()