gpytorch/variational/unwhitened_variational_strategy.py
Killed 57 out of 108 mutantsSurvived
Survived mutation testing. These mutants show holes in your test suite.Mutant 437
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -46,7 +46,7 @@
parameters of the model).
"""
- @cached(name="cholesky_factor", ignore_args=True)
+ @cached(name="XXcholesky_factorXX", ignore_args=True)
def _cholesky_factor(self, induc_induc_covar):
# Maybe used - if we're not using CG
L = psd_safe_cholesky(delazify(induc_induc_covar), jitter=settings.cholesky_jitter.value())
Mutant 438
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -46,7 +46,7 @@
parameters of the model).
"""
- @cached(name="cholesky_factor", ignore_args=True)
+ @cached(name="cholesky_factor", ignore_args=False)
def _cholesky_factor(self, induc_induc_covar):
# Maybe used - if we're not using CG
L = psd_safe_cholesky(delazify(induc_induc_covar), jitter=settings.cholesky_jitter.value())
Mutant 439
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -46,7 +46,6 @@
parameters of the model).
"""
- @cached(name="cholesky_factor", ignore_args=True)
def _cholesky_factor(self, induc_induc_covar):
# Maybe used - if we're not using CG
L = psd_safe_cholesky(delazify(induc_induc_covar), jitter=settings.cholesky_jitter.value())
Mutant 442
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -53,7 +53,7 @@
return TriangularLazyTensor(L)
@property
- @cached(name="prior_distribution_memo")
+ @cached(name="XXprior_distribution_memoXX")
def prior_distribution(self):
out = self.model.forward(self.inducing_points)
res = MultivariateNormal(out.mean, out.lazy_covariance_matrix.add_jitter())
Mutant 443
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -53,7 +53,7 @@
return TriangularLazyTensor(L)
@property
- @cached(name="prior_distribution_memo")
+
def prior_distribution(self):
out = self.model.forward(self.inducing_points)
res = MultivariateNormal(out.mean, out.lazy_covariance_matrix.add_jitter())
Mutant 457
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -76,7 +76,7 @@
# Mean terms
test_mean = full_mean[..., num_induc:]
induc_mean = full_mean[..., :num_induc]
- mean_diff = (inducing_values - induc_mean).unsqueeze(-1)
+ mean_diff = (inducing_values - induc_mean).unsqueeze(+1)
# Covariance terms
induc_induc_covar = full_covar[..., :num_induc, :num_induc].add_jitter()
Mutant 463
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -84,7 +84,7 @@
data_data_covar = full_covar[..., num_induc:, num_induc:]
# If we're less than a certain size, we'll compute the Cholesky decomposition of induc_induc_covar
- cholesky = False
+ cholesky = True
if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
cholesky = True
Mutant 464
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -84,7 +84,7 @@
data_data_covar = full_covar[..., num_induc:, num_induc:]
# If we're less than a certain size, we'll compute the Cholesky decomposition of induc_induc_covar
- cholesky = False
+ cholesky = None
if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
cholesky = True
Mutant 465
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -85,7 +85,7 @@
# If we're less than a certain size, we'll compute the Cholesky decomposition of induc_induc_covar
cholesky = False
- if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
+ if settings.fast_computations.log_prob.off() or (num_induc < settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
cholesky = True
Mutant 466
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -85,7 +85,7 @@
# If we're less than a certain size, we'll compute the Cholesky decomposition of induc_induc_covar
cholesky = False
- if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
+ if settings.fast_computations.log_prob.off() and (num_induc <= settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
cholesky = True
Mutant 468
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -87,7 +87,7 @@
cholesky = False
if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
- cholesky = True
+ cholesky = False
# If we are making predictions and don't need variances, we can do things very quickly.
if not self.training and settings.skip_posterior_variances.on():
Mutant 469
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -87,7 +87,7 @@
cholesky = False
if settings.fast_computations.log_prob.off() or (num_induc <= settings.max_cholesky_size.value()):
induc_induc_covar = CholLazyTensor(self._cholesky_factor(induc_induc_covar))
- cholesky = True
+ cholesky = None
# If we are making predictions and don't need variances, we can do things very quickly.
if not self.training and settings.skip_posterior_variances.on():
Mutant 470
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -90,7 +90,7 @@
cholesky = True
# If we are making predictions and don't need variances, we can do things very quickly.
- if not self.training and settings.skip_posterior_variances.on():
+ if self.training and settings.skip_posterior_variances.on():
if not hasattr(self, "_mean_cache"):
# For now: run variational inference without a preconditioner
# The preconditioner screws things up for some reason
Mutant 471
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -90,7 +90,7 @@
cholesky = True
# If we are making predictions and don't need variances, we can do things very quickly.
- if not self.training and settings.skip_posterior_variances.on():
+ if not self.training or settings.skip_posterior_variances.on():
if not hasattr(self, "_mean_cache"):
# For now: run variational inference without a preconditioner
# The preconditioner screws things up for some reason
Mutant 472
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:+1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 473
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:-2], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 474
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:+1], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 475
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-2], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 476
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:+1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 477
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -103,7 +103,7 @@
return MultivariateNormal(predictive_mean, predictive_covar)
# Expand everything to the right size
- shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
+ shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-2]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
Mutant 481
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -106,7 +106,7 @@
shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
- shapes.append(root_variational_covar.shape[:-1])
+ shapes.append(root_variational_covar.shape[:+1])
shape = _mul_broadcast_shape(*shapes)
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
Mutant 482
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -106,7 +106,7 @@
shapes = [mean_diff.shape[:-1], induc_data_covar.shape[:-1], induc_induc_covar.shape[:-1]]
if variational_inducing_covar is not None:
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
- shapes.append(root_variational_covar.shape[:-1])
+ shapes.append(root_variational_covar.shape[:-2])
shape = _mul_broadcast_shape(*shapes)
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
Mutant 484
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -108,7 +108,7 @@
root_variational_covar = variational_inducing_covar.root_decomposition().root.evaluate()
shapes.append(root_variational_covar.shape[:-1])
shape = _mul_broadcast_shape(*shapes)
- mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
+ mean_diff = mean_diff.expand(*shape, mean_diff.size(+1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
if variational_inducing_covar is not None:
Mutant 487
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -109,7 +109,7 @@
shapes.append(root_variational_covar.shape[:-1])
shape = _mul_broadcast_shape(*shapes)
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
- induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
+ induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(+1))
induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
if variational_inducing_covar is not None:
root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(-1))
Mutant 490
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -110,7 +110,7 @@
shape = _mul_broadcast_shape(*shapes)
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
- induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
+ induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(+1))
if variational_inducing_covar is not None:
root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(-1))
Mutant 491
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -110,7 +110,7 @@
shape = _mul_broadcast_shape(*shapes)
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
- induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
+ induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-2))
if variational_inducing_covar is not None:
root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(-1))
Mutant 493
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -111,7 +111,7 @@
mean_diff = mean_diff.expand(*shape, mean_diff.size(-1))
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
- if variational_inducing_covar is not None:
+ if variational_inducing_covar is None:
root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(-1))
# Cache the CG results
Mutant 494
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -112,7 +112,7 @@
induc_data_covar = induc_data_covar.expand(*shape, induc_data_covar.size(-1))
induc_induc_covar = induc_induc_covar.expand(*shape, induc_induc_covar.size(-1))
if variational_inducing_covar is not None:
- root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(-1))
+ root_variational_covar = root_variational_covar.expand(*shape, root_variational_covar.size(+1))
# Cache the CG results
# For now: run variational inference without a preconditioner
Mutant 497
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -117,7 +117,7 @@
# Cache the CG results
# For now: run variational inference without a preconditioner
# The preconditioner screws things up for some reason
- with settings.max_preconditioner_size(0):
+ with settings.max_preconditioner_size(1):
# Cache the CG results
if variational_inducing_covar is None:
left_tensors = mean_diff
Mutant 499
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -122,7 +122,7 @@
if variational_inducing_covar is None:
left_tensors = mean_diff
else:
- left_tensors = torch.cat([mean_diff, root_variational_covar], -1)
+ left_tensors = torch.cat([mean_diff, root_variational_covar], +1)
with torch.no_grad():
eager_rhs = torch.cat([left_tensors, induc_data_covar], -1)
Mutant 502
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -125,7 +125,7 @@
left_tensors = torch.cat([mean_diff, root_variational_covar], -1)
with torch.no_grad():
- eager_rhs = torch.cat([left_tensors, induc_data_covar], -1)
+ eager_rhs = torch.cat([left_tensors, induc_data_covar], +1)
solve, probe_vecs, probe_vec_norms, probe_vec_solves, tmats = CachedCGLazyTensor.precompute_terms(
induc_induc_covar,
eager_rhs.detach(),
Mutant 505
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -129,7 +129,7 @@
solve, probe_vecs, probe_vec_norms, probe_vec_solves, tmats = CachedCGLazyTensor.precompute_terms(
induc_induc_covar,
eager_rhs.detach(),
- logdet_terms=(not cholesky),
+ logdet_terms=( cholesky),
include_tmats=(not settings.skip_logdet_forward.on() and not cholesky),
)
eager_rhss = [
Mutant 506
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -130,7 +130,7 @@
induc_induc_covar,
eager_rhs.detach(),
logdet_terms=(not cholesky),
- include_tmats=(not settings.skip_logdet_forward.on() and not cholesky),
+ include_tmats=( settings.skip_logdet_forward.on() and not cholesky),
)
eager_rhss = [
eager_rhs.detach(),
Mutant 507
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -130,7 +130,7 @@
induc_induc_covar,
eager_rhs.detach(),
logdet_terms=(not cholesky),
- include_tmats=(not settings.skip_logdet_forward.on() and not cholesky),
+ include_tmats=(not settings.skip_logdet_forward.on() and cholesky),
)
eager_rhss = [
eager_rhs.detach(),
Mutant 508
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -130,7 +130,7 @@
induc_induc_covar,
eager_rhs.detach(),
logdet_terms=(not cholesky),
- include_tmats=(not settings.skip_logdet_forward.on() and not cholesky),
+ include_tmats=(not settings.skip_logdet_forward.on() or not cholesky),
)
eager_rhss = [
eager_rhs.detach(),
Mutant 509
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -134,7 +134,7 @@
)
eager_rhss = [
eager_rhs.detach(),
- eager_rhs[..., left_tensors.size(-1) :].detach(),
+ eager_rhs[..., left_tensors.size(+1) :].detach(),
eager_rhs[..., : left_tensors.size(-1)].detach(),
]
solves = [
Mutant 511
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -135,7 +135,7 @@
eager_rhss = [
eager_rhs.detach(),
eager_rhs[..., left_tensors.size(-1) :].detach(),
- eager_rhs[..., : left_tensors.size(-1)].detach(),
+ eager_rhs[..., : left_tensors.size(+1)].detach(),
]
solves = [
solve.detach(),
Mutant 513
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -139,7 +139,7 @@
]
solves = [
solve.detach(),
- solve[..., left_tensors.size(-1) :].detach(),
+ solve[..., left_tensors.size(+1) :].detach(),
solve[..., : left_tensors.size(-1)].detach(),
]
if settings.skip_logdet_forward.on():
Mutant 515
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -140,7 +140,7 @@
solves = [
solve.detach(),
solve[..., left_tensors.size(-1) :].detach(),
- solve[..., : left_tensors.size(-1)].detach(),
+ solve[..., : left_tensors.size(+1)].detach(),
]
if settings.skip_logdet_forward.on():
eager_rhss.append(torch.cat([probe_vecs, left_tensors], -1))
Mutant 518
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -158,7 +158,7 @@
# Cache the kernel matrix with the cached CG calls
if self.training:
prior_dist = MultivariateNormal(induc_mean, induc_induc_covar)
- add_to_cache(self, "prior_distribution_memo", prior_dist)
+ add_to_cache(self, "XXprior_distribution_memoXX", prior_dist)
# Compute predictive mean
inv_products = induc_induc_covar.inv_matmul(induc_data_covar, left_tensors.transpose(-1, -2))
Mutant 519
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -161,7 +161,7 @@
add_to_cache(self, "prior_distribution_memo", prior_dist)
# Compute predictive mean
- inv_products = induc_induc_covar.inv_matmul(induc_data_covar, left_tensors.transpose(-1, -2))
+ inv_products = induc_induc_covar.inv_matmul(induc_data_covar, left_tensors.transpose(+1, -2))
predictive_mean = torch.add(test_mean, inv_products[..., 0, :])
# Compute covariance
Mutant 526
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -167,7 +167,7 @@
# Compute covariance
if self.training:
interp_data_data_var, _ = induc_induc_covar.inv_quad_logdet(
- induc_data_covar, logdet=False, reduce_inv_quad=False
+ induc_data_covar, logdet=True, reduce_inv_quad=False
)
data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
else:
Mutant 527
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -167,7 +167,7 @@
# Compute covariance
if self.training:
interp_data_data_var, _ = induc_induc_covar.inv_quad_logdet(
- induc_data_covar, logdet=False, reduce_inv_quad=False
+ induc_data_covar, logdet=False, reduce_inv_quad=True
)
data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
else:
Mutant 528
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -169,7 +169,7 @@
interp_data_data_var, _ = induc_induc_covar.inv_quad_logdet(
induc_data_covar, logdet=False, reduce_inv_quad=False
)
- data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
+ data_covariance = DiagLazyTensor((data_data_covar.diag() + interp_data_data_var).clamp(0, math.inf))
else:
neg_induc_data_data_covar = torch.matmul(
induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
Mutant 529
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -169,7 +169,7 @@
interp_data_data_var, _ = induc_induc_covar.inv_quad_logdet(
induc_data_covar, logdet=False, reduce_inv_quad=False
)
- data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
+ data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(1, math.inf))
else:
neg_induc_data_data_covar = torch.matmul(
induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
Mutant 531
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -172,7 +172,7 @@
data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
else:
neg_induc_data_data_covar = torch.matmul(
- induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
+ induc_data_covar.transpose(+1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
)
data_covariance = data_data_covar + neg_induc_data_data_covar
predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
Mutant 535
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -172,7 +172,7 @@
data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
else:
neg_induc_data_data_covar = torch.matmul(
- induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
+ induc_data_covar.transpose(-1, -2).mul(+1), induc_induc_covar.inv_matmul(induc_data_covar)
)
data_covariance = data_data_covar + neg_induc_data_data_covar
predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
Mutant 536
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -172,7 +172,7 @@
data_covariance = DiagLazyTensor((data_data_covar.diag() - interp_data_data_var).clamp(0, math.inf))
else:
neg_induc_data_data_covar = torch.matmul(
- induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
+ induc_data_covar.transpose(-1, -2).mul(-2), induc_induc_covar.inv_matmul(induc_data_covar)
)
data_covariance = data_data_covar + neg_induc_data_data_covar
predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
Mutant 537
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -174,7 +174,7 @@
neg_induc_data_data_covar = torch.matmul(
induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
)
- data_covariance = data_data_covar + neg_induc_data_data_covar
+ data_covariance = data_data_covar - neg_induc_data_data_covar
predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
# Done!
Mutant 539
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -175,7 +175,7 @@
induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
)
data_covariance = data_data_covar + neg_induc_data_data_covar
- predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
+ predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 2:, :].transpose(-1, -2)), data_covariance)
# Done!
return MultivariateNormal(predictive_mean, predictive_covar)
Mutant 540
--- gpytorch/variational/unwhitened_variational_strategy.py
+++ gpytorch/variational/unwhitened_variational_strategy.py
@@ -175,7 +175,7 @@
induc_data_covar.transpose(-1, -2).mul(-1), induc_induc_covar.inv_matmul(induc_data_covar)
)
data_covariance = data_data_covar + neg_induc_data_data_covar
- predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(-1, -2)), data_covariance)
+ predictive_covar = PsdSumLazyTensor(RootLazyTensor(inv_products[..., 1:, :].transpose(+1, -2)), data_covariance)
# Done!
return MultivariateNormal(predictive_mean, predictive_covar)