Skip to content

Commit c7bb488

Browse files
committed
fix lengthscale handling, use super
1 parent 3ba16fb commit c7bb488

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

pymc3/gp/cov.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class Combination(Covariance):
8585
def __init__(self, factor_list):
8686
input_dim = np.max([factor.input_dim for factor in
8787
filter(lambda x: isinstance(x, Covariance), factor_list)])
88-
Covariance.__init__(self, input_dim=input_dim)
88+
super(Combination, self).__init__(input_dim=input_dim)
8989
self.factor_list = []
9090
for factor in factor_list:
9191
if isinstance(factor, self.__class__):
@@ -117,10 +117,8 @@ class Stationary(Covariance):
117117
"""
118118

119119
def __init__(self, input_dim, lengthscales, active_dims=None):
120-
Covariance.__init__(self, input_dim, active_dims)
121-
if isinstance(lengthscales, (list, tuple)):
122-
lengthscales = np.array(lengthscales)
123-
self.lengthscales = lengthscales
120+
super(Stationary, self).__init__(input_dim, active_dims)
121+
self.lengthscales = tt.as_tensor_variable(lengthscales)
124122

125123
def square_dist(self, X, Z):
126124
X = tt.mul(X, 1.0 / self.lengthscales)
@@ -165,8 +163,7 @@ class RatQuad(Stationary):
165163
"""
166164

167165
def __init__(self, input_dim, lengthscales, alpha, active_dims=None):
168-
Covariance.__init__(self, input_dim, active_dims)
169-
self.lengthscales = lengthscales
166+
super(RatQuad, self).__init__(input_dim, lengthscales, active_dims)
170167
self.alpha = alpha
171168

172169
def __call__(self, X, Z=None):
@@ -240,7 +237,7 @@ class Linear(Covariance):
240237
"""
241238

242239
def __init__(self, input_dim, c, active_dims=None):
243-
Covariance.__init__(self, input_dim, active_dims)
240+
super(Linear, self).__init__(input_dim, active_dims)
244241
self.c = c
245242

246243
def __call__(self, X, Z=None):
@@ -262,7 +259,7 @@ class Polynomial(Linear):
262259
"""
263260

264261
def __init__(self, input_dim, c, d, offset, active_dims=None):
265-
Linear.__init__(self, input_dim, c, active_dims)
262+
super(Polynomial, self).__init__(input_dim, c, active_dims)
266263
self.d = d
267264
self.offset = offset
268265

@@ -289,7 +286,7 @@ class WarpedInput(Covariance):
289286
"""
290287

291288
def __init__(self, input_dim, cov_func, warp_func, args=None, active_dims=None):
292-
Covariance.__init__(self, input_dim, active_dims)
289+
super(WarpedInput, self).__init__(input_dim, active_dims)
293290
if not callable(warp_func):
294291
raise TypeError("warp_func must be callable")
295292
if not isinstance(cov_func, Covariance):
@@ -323,7 +320,7 @@ class Gibbs(Covariance):
323320
Additional inputs (besides X or Z) to lengthscale_func.
324321
"""
325322
def __init__(self, input_dim, lengthscale_func, args=None, active_dims=None):
326-
Covariance.__init__(self, input_dim, active_dims)
323+
super(Gibbs, self).__init__(input_dim, active_dims)
327324
if active_dims is not None:
328325
if input_dim != 1 or sum(active_dims) == 1:
329326
raise NotImplementedError("Higher dimensional inputs are untested")

0 commit comments

Comments
 (0)