Use super().__init__ consistently, instead of sometimes calling base class __init__ directly

This commit is contained in:
Julien Bect 2020-05-03 22:07:19 +02:00
parent 5d44eadfae
commit 5dd81288f2
19 changed files with 47 additions and 42 deletions

View file

@ -30,7 +30,7 @@ class BCGPLVM(GPLVM):
else:
assert mapping.input_dim==Y.shape[1], "mapping input dim does not work for Y dimension"
assert mapping.output_dim==input_dim, "mapping output dim does not work for self.input_dim"
GPLVM.__init__(self, Y, input_dim, X=mapping.f(Y), kernel=kernel, name="bcgplvm")
super(BCGPLVM, self).__init__(Y, input_dim, X=mapping.f(Y), kernel=kernel, name="bcgplvm")
self.unlink_parameter(self.X)
self.mapping = mapping
self.link_parameter(self.mapping)

View file

@ -35,8 +35,8 @@ class GPClassification(GP):
if inference_method is None:
inference_method = EP()
GP.__init__(self, X=X, Y=Y, kernel=kernel, likelihood=likelihood, inference_method=inference_method,
mean_function=mean_function, name='gp_classification', normalizer=normalizer)
super(GPClassification, self).__init__(X=X, Y=Y, kernel=kernel, likelihood=likelihood, inference_method=inference_method,
mean_function=mean_function, name='gp_classification', normalizer=normalizer)
@staticmethod
def from_gp(gp):

View file

@ -29,7 +29,7 @@ class GPKroneckerGaussianRegression(Model):
"""
def __init__(self, X1, X2, Y, kern1, kern2, noise_var=1., name='KGPR'):
Model.__init__(self, name=name)
super(GPKroneckerGaussianRegression, self).__init__(name=name)
# accept the construction arguments
self.X1 = ObsAr(X1)

View file

@ -46,8 +46,8 @@ class SparseGPClassification(SparseGP):
if inference_method is None:
inference_method = EPDTC()
SparseGP.__init__(self, X, Y, Z, kernel, likelihood, mean_function=mean_function, inference_method=inference_method,
normalizer=normalizer, name='SparseGPClassification', Y_metadata=Y_metadata)
super(SparseGPClassification, self).__init__(X, Y, Z, kernel, likelihood, mean_function=mean_function, inference_method=inference_method,
normalizer=normalizer, name='SparseGPClassification', Y_metadata=Y_metadata)
@staticmethod
def from_sparse_gp(sparse_gp):
@ -136,9 +136,9 @@ class SparseGPClassificationUncertainInput(SparseGP):
X = NormalPosterior(X, X_variance)
SparseGP.__init__(self, X, Y, Z, kernel, likelihood,
inference_method=EPDTC(),
name='SparseGPClassification', Y_metadata=Y_metadata, normalizer=normalizer)
super(SparseGPClassificationUncertainInput, self).__init__(X, Y, Z, kernel, likelihood,
inference_method=EPDTC(), name='SparseGPClassification',
Y_metadata=Y_metadata, normalizer=normalizer)
def parameters_changed(self):
#Compute the psi statistics for N once, but don't sum out N in psi2

View file

@ -43,6 +43,10 @@ class SparseGPMiniBatch(SparseGP):
missing_data=False, stochastic=False, batchsize=1):
self._update_stochastics = False
# FIXME(?): Half of this function seems to be copy-pasted from
# SparseGP.__init, any particular reason why SparseGP.__init
# is not called (instead of calling GP.__init__ directly)?
# pick a sensible inference method
if inference_method is None:
if isinstance(likelihood, likelihoods.Gaussian):
@ -56,7 +60,8 @@ class SparseGPMiniBatch(SparseGP):
self.Z = Param('inducing inputs', Z)
self.num_inducing = Z.shape[0]
GP.__init__(self, X, Y, kernel, likelihood, inference_method=inference_method, name=name, Y_metadata=Y_metadata, normalizer=normalizer)
# Skip SparseGP.__init (see remark above)
super(SparseGP, self).__init__(X, Y, kernel, likelihood, inference_method=inference_method, name=name, Y_metadata=Y_metadata, normalizer=normalizer)
self.missing_data = missing_data
if stochastic and missing_data:

View file

@ -55,7 +55,7 @@ class SparseGPRegression(SparseGP_MPI):
else:
infr = VarDTC()
SparseGP_MPI.__init__(self, X, Y, Z, kernel, likelihood, mean_function=mean_function,
super(SparseGPRegression, self).__init__(X, Y, Z, kernel, likelihood, mean_function=mean_function,
inference_method=infr, normalizer=normalizer, mpi_comm=mpi_comm, name=name)
def parameters_changed(self):

View file

@ -58,7 +58,7 @@ class SparseGPRegressionMD(SparseGP_MPI):
infr = VarDTC_MD()
SparseGP_MPI.__init__(self, X, Y, Z, kernel, likelihood, inference_method=infr, normalizer=normalizer, mpi_comm=mpi_comm, name=name)
super(SparseGPRegressionMD, self).__init__(X, Y, Z, kernel, likelihood, inference_method=infr, normalizer=normalizer, mpi_comm=mpi_comm, name=name)
self.output_dim = output_dim
def parameters_changed(self):

View file

@ -23,7 +23,7 @@ class SparseGPLVM(SparseGPRegression):
from ..util.initialization import initialize_latent
X, fracs = initialize_latent(init, input_dim, Y)
X = Param('latent space', X)
SparseGPRegression.__init__(self, X, Y, kernel=kernel, num_inducing=num_inducing)
super(SparseGPLVM, self).__init__(X, Y, kernel=kernel, num_inducing=num_inducing)
self.link_parameter(self.X, 0)
def parameters_changed(self):