mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-07-11 16:22:13 +02:00
bugfix for grad_dict
This commit is contained in:
parent
f50b121d4d
commit
da4303f71b
4 changed files with 4 additions and 4 deletions
|
|
@ -302,7 +302,7 @@ class Model(Parameterized):
|
||||||
denominator = (2 * np.dot(dx, gradient))
|
denominator = (2 * np.dot(dx, gradient))
|
||||||
global_ratio = (f1 - f2) / np.where(denominator==0., 1e-32, denominator)
|
global_ratio = (f1 - f2) / np.where(denominator==0., 1e-32, denominator)
|
||||||
|
|
||||||
return np.abs(1. - global_ratio) < tolerance)
|
return np.abs(1. - global_ratio) < tolerance
|
||||||
else:
|
else:
|
||||||
# check the gradient of each parameter individually, and do some pretty printing
|
# check the gradient of each parameter individually, and do some pretty printing
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ class SparseGP(GP):
|
||||||
dL_dKmm = self.grad_dict.pop('dL_dKmm')
|
dL_dKmm = self.grad_dict.pop('dL_dKmm')
|
||||||
self.kern.update_gradients_full(dL_dKmm, self.Z, None)
|
self.kern.update_gradients_full(dL_dKmm, self.Z, None)
|
||||||
target = self.kern.gradient.copy()
|
target = self.kern.gradient.copy()
|
||||||
self.kern.update_gradients_expectations(variational_posterior=self.X, Z=self.Z, dL_dpsi0=grad_dict['dL_dpsi0'], dL_dpsi1=grad_dict['dL_dpsi1'], dL_dpsi2=grad_dict['dL_dpsi2'])
|
self.kern.update_gradients_expectations(variational_posterior=self.X, Z=self.Z, dL_dpsi0=self.grad_dict['dL_dpsi0'], dL_dpsi1=self.grad_dict['dL_dpsi1'], dL_dpsi2=self.grad_dict['dL_dpsi2'])
|
||||||
self.kern.gradient += target
|
self.kern.gradient += target
|
||||||
|
|
||||||
#gradients wrt Z
|
#gradients wrt Z
|
||||||
|
|
|
||||||
|
|
@ -252,7 +252,7 @@ class KernelGradientTestsContinuous(unittest.TestCase):
|
||||||
k.randomize()
|
k.randomize()
|
||||||
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
|
self.assertTrue(check_kernel_gradient_functions(k, X=self.X, X2=self.X2, verbose=verbose))
|
||||||
|
|
||||||
#TODO: turn off grad checkingwrt X for indexed kernels liek coregionalize
|
#TODO: turn off grad checkingwrt X for indexed kernels like coregionalize
|
||||||
# class KernelGradientTestsContinuous1D(unittest.TestCase):
|
# class KernelGradientTestsContinuous1D(unittest.TestCase):
|
||||||
# def setUp(self):
|
# def setUp(self):
|
||||||
# self.N, self.D = 100, 1
|
# self.N, self.D = 100, 1
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class Cacher(object):
|
||||||
if k in kw and kw[k] is not None:
|
if k in kw and kw[k] is not None:
|
||||||
return self.operation(*args, **kw)
|
return self.operation(*args, **kw)
|
||||||
# TODO: WARNING !!! Cache OFFSWITCH !!! WARNING
|
# TODO: WARNING !!! Cache OFFSWITCH !!! WARNING
|
||||||
return self.operation(*args)
|
#return self.operation(*args)
|
||||||
|
|
||||||
#if the result is cached, return the cached computation
|
#if the result is cached, return the cached computation
|
||||||
state = [all(a is b for a, b in itertools.izip_longest(args, cached_i)) for cached_i in self.cached_inputs]
|
state = [all(a is b for a, b in itertools.izip_longest(args, cached_i)) for cached_i in self.cached_inputs]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue