gpytorch/variational/variational_strategy.py

Killed 39 out of 52 mutants

Survived

Survived mutation testing. These mutants show holes in your test suite.

Mutant 496

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -62,7 +62,7 @@
         https://www.repository.cam.ac.uk/handle/1810/278022
     """
 
-    def __init__(self, model, inducing_points, variational_distribution, learn_inducing_locations=True):
+    def __init__(self, model, inducing_points, variational_distribution, learn_inducing_locations=False):
         super().__init__(model, inducing_points, variational_distribution, learn_inducing_locations)
         self.register_buffer("updated_strategy", torch.tensor(True))
         self._register_load_state_dict_pre_hook(_ensure_updated_strategy_flag_set)

Mutant 498

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -64,7 +64,7 @@
 
     def __init__(self, model, inducing_points, variational_distribution, learn_inducing_locations=True):
         super().__init__(model, inducing_points, variational_distribution, learn_inducing_locations)
-        self.register_buffer("updated_strategy", torch.tensor(True))
+        self.register_buffer("updated_strategy", torch.tensor(False))
         self._register_load_state_dict_pre_hook(_ensure_updated_strategy_flag_set)
 
     @cached(name="cholesky_factor", ignore_args=True)

Mutant 499

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -67,7 +67,7 @@
         self.register_buffer("updated_strategy", torch.tensor(True))
         self._register_load_state_dict_pre_hook(_ensure_updated_strategy_flag_set)
 
-    @cached(name="cholesky_factor", ignore_args=True)
+    @cached(name="XXcholesky_factorXX", ignore_args=True)
     def _cholesky_factor(self, induc_induc_covar):
         L = psd_safe_cholesky(delazify(induc_induc_covar).double(), jitter=settings.cholesky_jitter.value())
         return TriangularLazyTensor(L)

Mutant 500

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -67,7 +67,7 @@
         self.register_buffer("updated_strategy", torch.tensor(True))
         self._register_load_state_dict_pre_hook(_ensure_updated_strategy_flag_set)
 
-    @cached(name="cholesky_factor", ignore_args=True)
+    @cached(name="cholesky_factor", ignore_args=False)
     def _cholesky_factor(self, induc_induc_covar):
         L = psd_safe_cholesky(delazify(induc_induc_covar).double(), jitter=settings.cholesky_jitter.value())
         return TriangularLazyTensor(L)

Mutant 501

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -67,7 +67,6 @@
         self.register_buffer("updated_strategy", torch.tensor(True))
         self._register_load_state_dict_pre_hook(_ensure_updated_strategy_flag_set)
 
-    @cached(name="cholesky_factor", ignore_args=True)
     def _cholesky_factor(self, induc_induc_covar):
         L = psd_safe_cholesky(delazify(induc_induc_covar).double(), jitter=settings.cholesky_jitter.value())
         return TriangularLazyTensor(L)

Mutant 504

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -73,7 +73,7 @@
         return TriangularLazyTensor(L)
 
     @property
-    @cached(name="prior_distribution_memo")
+    @cached(name="XXprior_distribution_memoXX")
     def prior_distribution(self):
         zeros = torch.zeros_like(self.variational_distribution.mean)
         ones = torch.ones_like(zeros)

Mutant 505

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -73,7 +73,7 @@
         return TriangularLazyTensor(L)
 
     @property
-    @cached(name="prior_distribution_memo")
+
     def prior_distribution(self):
         zeros = torch.zeros_like(self.variational_distribution.mean)
         ones = torch.ones_like(zeros)

Mutant 528

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -108,7 +108,7 @@
         # k_XZ K_ZZ^{-1/2} (m - K_ZZ^{-1/2} \mu_Z) + \mu_X
         predictive_mean = (
             torch.matmul(
-                interp_term.transpose(-1, -2), (inducing_values - self.prior_distribution.mean).unsqueeze(-1)
+                interp_term.transpose(-1, -2), (inducing_values + self.prior_distribution.mean).unsqueeze(-1)
             ).squeeze(-1)
             + test_mean
         )

Mutant 533

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -110,7 +110,7 @@
             torch.matmul(
                 interp_term.transpose(-1, -2), (inducing_values - self.prior_distribution.mean).unsqueeze(-1)
             ).squeeze(-1)
-            + test_mean
+            - test_mean
         )
 
         # Compute the covariance of q(f)

Mutant 534

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -115,7 +115,7 @@
 
         # Compute the covariance of q(f)
         # K_XX + k_XZ K_ZZ^{-1/2} (S - I) K_ZZ^{-1/2} k_ZX
-        middle_term = self.prior_distribution.lazy_covariance_matrix.mul(-1)
+        middle_term = self.prior_distribution.lazy_covariance_matrix.mul(+1)
         if variational_inducing_covar is not None:
             middle_term = SumLazyTensor(variational_inducing_covar, middle_term)
 

Mutant 539

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -126,7 +126,7 @@
             )
         else:
             predictive_covar = SumLazyTensor(
-                data_data_covar.add_jitter(1e-4),
+                data_data_covar.add_jitter(1.0001),
                 MatmulLazyTensor(interp_term.transpose(-1, -2), middle_term @ interp_term),
             )
 

Mutant 544

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -133,7 +133,7 @@
         # Return the distribution
         return MultivariateNormal(predictive_mean, predictive_covar)
 
-    def __call__(self, x, prior=False):
+    def __call__(self, x, prior=True):
         if not self.updated_strategy.item() and not prior:
             with torch.no_grad():
                 # Get unwhitened p(u)

Mutant 546

--- gpytorch/variational/variational_strategy.py
+++ gpytorch/variational/variational_strategy.py
@@ -134,7 +134,7 @@
         return MultivariateNormal(predictive_mean, predictive_covar)
 
     def __call__(self, x, prior=False):
-        if not self.updated_strategy.item() and not prior:
+        if not self.updated_strategy.item() and  prior:
             with torch.no_grad():
                 # Get unwhitened p(u)
                 prior_function_dist = self(self.inducing_points, prior=True)