messing with caching

This commit is contained in:
James Hensman 2014-02-27 10:47:27 +00:00
parent 2feb849bf7
commit 5cf792504a
3 changed files with 64 additions and 34 deletions

View file

@ -40,18 +40,18 @@ class Stationary(Kern):
def dK_dr(self, r):
raise NotImplementedError, "implement the covaraiance function as a fn of r to use this class"
@Cache_this(limit=5, ignore_args=())
#@Cache_this(limit=5, ignore_args=())
def K(self, X, X2=None):
r = self._scaled_dist(X, X2)
return self.K_of_r(r)
@Cache_this(limit=5, ignore_args=(0,))
#@Cache_this(limit=5, ignore_args=(0,))
def _dist(self, X, X2):
if X2 is None:
X2 = X
return X[:, None, :] - X2[None, :, :]
@Cache_this(limit=5, ignore_args=(0,))
#@Cache_this(limit=5, ignore_args=(0,))
def _unscaled_dist(self, X, X2=None):
"""
Compute the square distance between each row of X and X2, or between
@ -65,7 +65,7 @@ class Stationary(Kern):
X2sq = np.sum(np.square(X2),1)
return np.sqrt(-2.*np.dot(X, X2.T) + (X1sq[:,None] + X2sq[None,:]))
@Cache_this(limit=5, ignore_args=())
#@Cache_this(limit=5, ignore_args=())
def _scaled_dist(self, X, X2=None):
"""
Efficiently compute the scaled distance, r.