Skip to content

Commit b1e0733

Browse files
committed
[chaching] changing all chacher limits to 3
1 parent 99caca6 commit b1e0733

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+72
-72
lines changed

GPy/core/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,4 @@ def randomize(self, rand_gen=None, *args, **kwargs):
4343

4444
Model.randomize = randomize
4545
Param.randomize = randomize
46-
Parameterized.randomize = randomize
46+
Parameterized.randomize = randomize

GPy/core/model.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ def objective_function_gradients(self):
4545
(including the MAP prior), so we return it here. If your model is not
4646
probabilistic, just return your *negative* gradient here!
4747
"""
48-
return -(self._log_likelihood_gradients() + self._log_prior_gradients())
48+
return -(self._log_likelihood_gradients() + self._log_prior_gradients())

GPy/core/parameterization/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
from paramz import transformations
77

88
from paramz.core import lists_and_dicts, index_operations, observable_array, observable
9-
from paramz import ties_and_remappings, ObsAr
9+
from paramz import ties_and_remappings, ObsAr

GPy/core/parameterization/param.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
import logging, numpy as np
88

99
class Param(Param, Priorizable):
10-
pass
10+
pass

GPy/core/parameterization/parameterized.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,4 @@ class Parameterized(Parameterized, Priorizable):
4949
If you want to operate on all parameters use m[''] to wildcard select all paramters
5050
and concatenate them. Printing m[''] will result in printing of all parameters in detail.
5151
"""
52-
pass
52+
pass
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Copyright (c) 2014, Max Zwiessele, James Hensman
22
# Licensed under the BSD 3-clause license (see LICENSE.txt)
33

4-
from paramz.transformations import *
4+
from paramz.transformations import *

GPy/core/sparse_gp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(self, X, Y, Z, kernel, likelihood, mean_function=None, X_variance=N
4444
#pick a sensible inference method
4545
if inference_method is None:
4646
if isinstance(likelihood, likelihoods.Gaussian):
47-
inference_method = var_dtc.VarDTC(limit=1)
47+
inference_method = var_dtc.VarDTC(limit=3)
4848
else:
4949
#inference_method = ??
5050
raise NotImplementedError("what to do what to do?")

GPy/inference/latent_function_inference/var_dtc.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class VarDTC(LatentFunctionInference):
2222
2323
"""
2424
const_jitter = 1e-8
25-
def __init__(self, limit=1):
25+
def __init__(self, limit=3):
2626
from paramz.caching import Cacher
2727
self.limit = limit
2828
self.get_trYYT = Cacher(self._get_trYYT, limit)

GPy/inference/latent_function_inference/var_dtc_parallel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class VarDTC_minibatch(LatentFunctionInference):
2121
2222
"""
2323
const_jitter = 1e-8
24-
def __init__(self, batchsize=None, limit=1, mpi_comm=None):
24+
def __init__(self, batchsize=None, limit=3, mpi_comm=None):
2525

2626
self.batchsize = batchsize
2727
self.mpi_comm = mpi_comm

GPy/inference/optimization/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
from paramz.optimization import *
33
import sys
44
sys.modules['GPy.inference.optimization.stochastics'] = stochastics
5-
sys.modules['GPy.inference.optimization.Optimizer'] = Optimizer
5+
sys.modules['GPy.inference.optimization.Optimizer'] = Optimizer

GPy/kern/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@
2828
from .src.splitKern import SplitKern,DEtime
2929
from .src.splitKern import DEtime as DiffGenomeKern
3030
from .src.spline import Spline
31-
from .src.basis_funcs import LogisticBasisFuncKernel, LinearSlopeBasisFuncKernel, BasisFuncKernel, ChangePointBasisFuncKernel, DomainKernel
31+
from .src.basis_funcs import LogisticBasisFuncKernel, LinearSlopeBasisFuncKernel, BasisFuncKernel, ChangePointBasisFuncKernel, DomainKernel

GPy/kern/src/ODE_t.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,4 +162,4 @@ def update_gradients_full(self, dL_dK, X, X2=None):
162162

163163
self.lengthscale_Yt.gradient = np.sum(dkYdlent*(-0.5*self.lengthscale_Yt**(-2)) * dL_dK)
164164

165-
self.ubias.gradient = np.sum(dkdubias * dL_dK)
165+
self.ubias.gradient = np.sum(dkdubias * dL_dK)

GPy/kern/src/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from . import psi_comp
1+
from . import psi_comp

GPy/kern/src/add.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def _check_exact_psicomp(self):
3737
else:
3838
return False
3939

40-
@Cache_this(limit=2, force_kwargs=['which_parts'])
40+
@Cache_this(limit=3, force_kwargs=['which_parts'])
4141
def K(self, X, X2=None, which_parts=None):
4242
"""
4343
Add all kernels together.
@@ -51,7 +51,7 @@ def K(self, X, X2=None, which_parts=None):
5151
which_parts = [which_parts]
5252
return reduce(np.add, (p.K(X, X2) for p in which_parts))
5353

54-
@Cache_this(limit=2, force_kwargs=['which_parts'])
54+
@Cache_this(limit=3, force_kwargs=['which_parts'])
5555
def Kdiag(self, X, which_parts=None):
5656
if which_parts is None:
5757
which_parts = self.parts
@@ -98,17 +98,17 @@ def gradients_XX_diag(self, dL_dKdiag, X):
9898
[target.__iadd__(p.gradients_XX_diag(dL_dKdiag, X)) for p in self.parts]
9999
return target
100100

101-
@Cache_this(limit=1, force_kwargs=['which_parts'])
101+
@Cache_this(limit=3, force_kwargs=['which_parts'])
102102
def psi0(self, Z, variational_posterior):
103103
if not self._exact_psicomp: return Kern.psi0(self,Z,variational_posterior)
104104
return reduce(np.add, (p.psi0(Z, variational_posterior) for p in self.parts))
105105

106-
@Cache_this(limit=1, force_kwargs=['which_parts'])
106+
@Cache_this(limit=3, force_kwargs=['which_parts'])
107107
def psi1(self, Z, variational_posterior):
108108
if not self._exact_psicomp: return Kern.psi1(self,Z,variational_posterior)
109109
return reduce(np.add, (p.psi1(Z, variational_posterior) for p in self.parts))
110110

111-
@Cache_this(limit=1, force_kwargs=['which_parts'])
111+
@Cache_this(limit=3, force_kwargs=['which_parts'])
112112
def psi2(self, Z, variational_posterior):
113113
if not self._exact_psicomp: return Kern.psi2(self,Z,variational_posterior)
114114
psi2 = reduce(np.add, (p.psi2(Z, variational_posterior) for p in self.parts))
@@ -144,7 +144,7 @@ def psi2(self, Z, variational_posterior):
144144
raise NotImplementedError("psi2 cannot be computed for this kernel")
145145
return psi2
146146

147-
@Cache_this(limit=1, force_kwargs=['which_parts'])
147+
@Cache_this(limit=3, force_kwargs=['which_parts'])
148148
def psi2n(self, Z, variational_posterior):
149149
if not self._exact_psicomp: return Kern.psi2n(self, Z, variational_posterior)
150150
psi2 = reduce(np.add, (p.psi2n(Z, variational_posterior) for p in self.parts))

GPy/kern/src/eq_ode2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(self, input_dim=2, output_dim=1, rank=1, W=None, lengthscale=None,
6464
self.W = Param('W', W)
6565
self.link_parameters(self.lengthscale, self.C, self.B, self.W)
6666

67-
@Cache_this(limit=2)
67+
@Cache_this(limit=3)
6868
def K(self, X, X2=None):
6969
#This way is not working, indexes are lost after using k._slice_X
7070
#index = np.asarray(X, dtype=np.int)

GPy/kern/src/kern.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def __setstate__(self, state):
6868
def _effective_input_dim(self):
6969
return np.size(self._all_dims_active)
7070

71-
@Cache_this(limit=20)
71+
@Cache_this(limit=3)
7272
def _slice_X(self, X):
7373
try:
7474
return X[:, self._all_dims_active].astype('float')

GPy/kern/src/linear.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def __init__(self, input_dim, variances=None, ARD=False, active_dims=None, name=
5151
self.link_parameter(self.variances)
5252
self.psicomp = PSICOMP_Linear()
5353

54-
@Cache_this(limit=2)
54+
@Cache_this(limit=3)
5555
def K(self, X, X2=None):
5656
if self.ARD:
5757
if X2 is None:
@@ -62,7 +62,7 @@ def K(self, X, X2=None):
6262
else:
6363
return self._dot_product(X, X2) * self.variances
6464

65-
@Cache_this(limit=1, ignore_args=(0,))
65+
@Cache_this(limit=3, ignore_args=(0,))
6666
def _dot_product(self, X, X2=None):
6767
if X2 is None:
6868
return tdot(X)

GPy/kern/src/mlp.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def __init__(self, input_dim, variance=1., weight_variance=1., bias_variance=1.,
4545
self.link_parameters(self.variance, self.weight_variance, self.bias_variance)
4646

4747

48-
@Cache_this(limit=20, ignore_args=())
48+
@Cache_this(limit=3, ignore_args=())
4949
def K(self, X, X2=None):
5050
if X2 is None:
5151
X_denom = np.sqrt(self._comp_prod(X)+1.)
@@ -57,7 +57,7 @@ def K(self, X, X2=None):
5757
XTX = self._comp_prod(X,X2)/X_denom[:,None]/X2_denom[None,:]
5858
return self.variance*four_over_tau*np.arcsin(XTX)
5959

60-
@Cache_this(limit=20, ignore_args=())
60+
@Cache_this(limit=3, ignore_args=())
6161
def Kdiag(self, X):
6262
"""Compute the diagonal of the covariance matrix for X."""
6363
X_prod = self._comp_prod(X)
@@ -88,14 +88,14 @@ def gradients_X_diag(self, dL_dKdiag, X):
8888
"""Gradient of diagonal of covariance with respect to X"""
8989
return self._comp_grads_diag(dL_dKdiag, X)[3]
9090

91-
@Cache_this(limit=50, ignore_args=())
91+
@Cache_this(limit=3, ignore_args=())
9292
def _comp_prod(self, X, X2=None):
9393
if X2 is None:
9494
return (np.square(X)*self.weight_variance).sum(axis=1)+self.bias_variance
9595
else:
9696
return (X*self.weight_variance).dot(X2.T)+self.bias_variance
9797

98-
@Cache_this(limit=20, ignore_args=(1,))
98+
@Cache_this(limit=3, ignore_args=(1,))
9999
def _comp_grads(self, dL_dK, X, X2=None):
100100
var,w,b = self.variance, self.weight_variance, self.bias_variance
101101
K = self.K(X, X2)
@@ -130,7 +130,7 @@ def _comp_grads(self, dL_dK, X, X2=None):
130130
dX2 = common.T.dot(X)*w-((common*XTX).sum(axis=0)/(X2_prod+1.))[:,None]*X2*w
131131
return dvar, dw, db, dX, dX2
132132

133-
@Cache_this(limit=20, ignore_args=(1,))
133+
@Cache_this(limit=3, ignore_args=(1,))
134134
def _comp_grads_diag(self, dL_dKdiag, X):
135135
var,w,b = self.variance, self.weight_variance, self.bias_variance
136136
K = self.Kdiag(X)

GPy/kern/src/poly.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def K(self, X, X2=None):
2727
_, _, B = self._AB(X, X2)
2828
return B * self.variance
2929

30-
@Cache_this(limit=2)
30+
@Cache_this(limit=3)
3131
def _AB(self, X, X2=None):
3232
if X2 is None:
3333
dot_prod = np.dot(X, X.T)

GPy/kern/src/prod.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def __init__(self, kernels, name='mul'):
3939
kernels.insert(i, part)
4040
super(Prod, self).__init__(kernels, name)
4141

42-
@Cache_this(limit=2, force_kwargs=['which_parts'])
42+
@Cache_this(limit=3, force_kwargs=['which_parts'])
4343
def K(self, X, X2=None, which_parts=None):
4444
if which_parts is None:
4545
which_parts = self.parts
@@ -48,7 +48,7 @@ def K(self, X, X2=None, which_parts=None):
4848
which_parts = [which_parts]
4949
return reduce(np.multiply, (p.K(X, X2) for p in which_parts))
5050

51-
@Cache_this(limit=2, force_kwargs=['which_parts'])
51+
@Cache_this(limit=3, force_kwargs=['which_parts'])
5252
def Kdiag(self, X, which_parts=None):
5353
if which_parts is None:
5454
which_parts = self.parts

GPy/kern/src/psi_comp/__init__.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def _setup_observers(self):
2121
from . import rbf_psi_comp, linear_psi_comp, ssrbf_psi_comp, sslinear_psi_comp
2222

2323
class PSICOMP_RBF(PSICOMP):
24-
@Cache_this(limit=10, ignore_args=(0,))
24+
@Cache_this(limit=3, ignore_args=(0,))
2525
def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
2626
variance, lengthscale = kern.variance, kern.lengthscale
2727
if isinstance(variational_posterior, variational.NormalPosterior):
@@ -31,7 +31,7 @@ def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
3131
else:
3232
raise ValueError("unknown distriubtion received for psi-statistics")
3333

34-
@Cache_this(limit=10, ignore_args=(0,2,3,4))
34+
@Cache_this(limit=3, ignore_args=(0,2,3,4))
3535
def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior):
3636
variance, lengthscale = kern.variance, kern.lengthscale
3737
if isinstance(variational_posterior, variational.NormalPosterior):
@@ -43,7 +43,7 @@ def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, varia
4343

4444
class PSICOMP_Linear(PSICOMP):
4545

46-
@Cache_this(limit=10, ignore_args=(0,))
46+
@Cache_this(limit=3, ignore_args=(0,))
4747
def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
4848
variances = kern.variances
4949
if isinstance(variational_posterior, variational.NormalPosterior):
@@ -53,7 +53,7 @@ def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
5353
else:
5454
raise ValueError("unknown distriubtion received for psi-statistics")
5555

56-
@Cache_this(limit=10, ignore_args=(0,2,3,4))
56+
@Cache_this(limit=3, ignore_args=(0,2,3,4))
5757
def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior):
5858
variances = kern.variances
5959
if isinstance(variational_posterior, variational.NormalPosterior):

GPy/kern/src/psi_comp/gaussherm.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def __init__(self, degree=11, cache_K=True):
2727
def _setup_observers(self):
2828
pass
2929

30-
@Cache_this(limit=10, ignore_args=(0,))
30+
@Cache_this(limit=3, ignore_args=(0,))
3131
def comp_K(self, Z, qX):
3232
if self.Xs is None or self.Xs.shape != qX.mean.shape:
3333
from paramz import ObsAr
@@ -38,7 +38,7 @@ def comp_K(self, Z, qX):
3838
self.Xs[i] = self.locs[i]*S_sq+mu
3939
return self.Xs
4040

41-
@Cache_this(limit=10, ignore_args=(0,))
41+
@Cache_this(limit=3, ignore_args=(0,))
4242
def psicomputations(self, kern, Z, qX, return_psi2_n=False):
4343
mu, S = qX.mean.values, qX.variance.values
4444
N,M,Q = mu.shape[0],Z.shape[0],mu.shape[1]
@@ -62,7 +62,7 @@ def psicomputations(self, kern, Z, qX, return_psi2_n=False):
6262
psi2 += self.weights[i]* tdot(Kfu.T)
6363
return psi0, psi1, psi2
6464

65-
@Cache_this(limit=10, ignore_args=(0, 2,3,4))
65+
@Cache_this(limit=3, ignore_args=(0, 2,3,4))
6666
def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, qX):
6767
mu, S = qX.mean.values, qX.variance.values
6868
if self.cache_K: Xs = self.comp_K(Z, qX)

GPy/kern/src/psi_comp/rbf_psi_comp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -132,5 +132,5 @@ def _psi2compDer(dL_dpsi2, variance, lengthscale, Z, mu, S):
132132

133133
return _dL_dvar, _dL_dl, _dL_dZ, _dL_dmu, _dL_dS
134134

135-
_psi1computations = Cacher(__psi1computations, limit=5)
136-
_psi2computations = Cacher(__psi2computations, limit=5)
135+
_psi1computations = Cacher(__psi1computations, limit=3)
136+
_psi2computations = Cacher(__psi2computations, limit=3)

GPy/kern/src/psi_comp/rbf_psi_gpucomp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
326326
except:
327327
return self.fall_back.psicomputations(kern, Z, variational_posterior, return_psi2_n)
328328

329-
@Cache_this(limit=10, ignore_args=(0,))
329+
@Cache_this(limit=3, ignore_args=(0,))
330330
def _psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
331331
"""
332332
Z - MxQ
@@ -371,7 +371,7 @@ def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, varia
371371
except:
372372
return self.fall_back.psiDerivativecomputations(kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior)
373373

374-
@Cache_this(limit=10, ignore_args=(0,2,3,4))
374+
@Cache_this(limit=3, ignore_args=(0,2,3,4))
375375
def _psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior):
376376
# resolve the requirement of dL_dpsi2 to be symmetric
377377
if len(dL_dpsi2.shape)==2: dL_dpsi2 = (dL_dpsi2+dL_dpsi2.T)/2

GPy/kern/src/psi_comp/ssrbf_psi_comp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def _psicomputations(variance, lengthscale, Z, variational_posterior):
8888
return psi0,psi1,psi2,psi2n
8989

9090
from GPy.util.caching import Cacher
91-
psicomputations = Cacher(_psicomputations, limit=1)
91+
psicomputations = Cacher(_psicomputations, limit=3)
9292

9393
def psiDerivativecomputations(dL_dpsi0, dL_dpsi1, dL_dpsi2, variance, lengthscale, Z, variational_posterior):
9494
ARD = (len(lengthscale)!=1)

GPy/kern/src/psi_comp/ssrbf_psi_gpucomp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ def reset_derivative(self):
375375
def get_dimensions(self, Z, variational_posterior):
376376
return variational_posterior.mean.shape[0], Z.shape[0], Z.shape[1]
377377

378-
@Cache_this(limit=1, ignore_args=(0,))
378+
@Cache_this(limit=3, ignore_args=(0,))
379379
def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
380380
"""
381381
Z - MxQ
@@ -409,7 +409,7 @@ def psicomputations(self, kern, Z, variational_posterior, return_psi2_n=False):
409409
else:
410410
return psi0, psi1_gpu.get(), psi2_gpu.get()
411411

412-
@Cache_this(limit=1, ignore_args=(0,2,3,4))
412+
@Cache_this(limit=3, ignore_args=(0,2,3,4))
413413
def psiDerivativecomputations(self, kern, dL_dpsi0, dL_dpsi1, dL_dpsi2, Z, variational_posterior):
414414
variance, lengthscale = kern.variance, kern.lengthscale
415415
from ....util.linalg_gpu import sum_axis

GPy/kern/src/stationary.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ def K_of_r(self, r):
8181
def dK_dr(self, r):
8282
raise NotImplementedError("implement derivative of the covariance function wrt r to use this class")
8383

84-
@Cache_this(limit=20, ignore_args=())
84+
@Cache_this(limit=3, ignore_args=())
8585
def dK2_drdr(self, r):
8686
raise NotImplementedError("implement second derivative of covariance wrt r to use this method")
8787

88-
@Cache_this(limit=5, ignore_args=())
88+
@Cache_this(limit=3, ignore_args=())
8989
def K(self, X, X2=None):
9090
"""
9191
Kernel function applied on inputs X and X2.

0 commit comments

Comments
 (0)