@@ -85,7 +85,7 @@ class Combination(Covariance):
85
85
def __init__ (self , factor_list ):
86
86
input_dim = np .max ([factor .input_dim for factor in
87
87
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 )
89
89
self .factor_list = []
90
90
for factor in factor_list :
91
91
if isinstance (factor , self .__class__ ):
@@ -117,10 +117,8 @@ class Stationary(Covariance):
117
117
"""
118
118
119
119
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 )
124
122
125
123
def square_dist (self , X , Z ):
126
124
X = tt .mul (X , 1.0 / self .lengthscales )
@@ -165,8 +163,7 @@ class RatQuad(Stationary):
165
163
"""
166
164
167
165
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 )
170
167
self .alpha = alpha
171
168
172
169
def __call__ (self , X , Z = None ):
@@ -240,7 +237,7 @@ class Linear(Covariance):
240
237
"""
241
238
242
239
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 )
244
241
self .c = c
245
242
246
243
def __call__ (self , X , Z = None ):
@@ -262,7 +259,7 @@ class Polynomial(Linear):
262
259
"""
263
260
264
261
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 )
266
263
self .d = d
267
264
self .offset = offset
268
265
@@ -289,7 +286,7 @@ class WarpedInput(Covariance):
289
286
"""
290
287
291
288
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 )
293
290
if not callable (warp_func ):
294
291
raise TypeError ("warp_func must be callable" )
295
292
if not isinstance (cov_func , Covariance ):
@@ -323,7 +320,7 @@ class Gibbs(Covariance):
323
320
Additional inputs (besides X or Z) to lengthscale_func.
324
321
"""
325
322
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 )
327
324
if active_dims is not None :
328
325
if input_dim != 1 or sum (active_dims ) == 1 :
329
326
raise NotImplementedError ("Higher dimensional inputs are untested" )
0 commit comments